File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 4343}
4444
4545bypass_serialization = False # runtime setting to bypass blob (en|de)code
46+ use_32bit_dims = False # runtime setting to read data as 32-bit
4647
4748
4849def len_u64 (obj ):
@@ -68,9 +69,7 @@ def __init__(self, squeeze=False):
6869 self ._squeeze = squeeze
6970 self ._blob = None
7071 self ._pos = 0
71- self ._pos_prev = 0
7272 self .protocol = None
73- self .is_32_bit = False
7473
7574 def set_dj0 (self ):
7675 if not config .get ('enable_python_native_blobs' ):
@@ -435,14 +434,8 @@ def read_zero_terminated_string(self):
435434
436435 def read_value (self , dtype = None , count = 1 ):
437436 if dtype is None :
438- dtype = 'uint32' if self .is_32_bit else 'uint64'
439- try :
440- data = np .frombuffer (self ._blob , dtype = dtype , count = count , offset = self ._pos )
441- except ValueError :
442- self .is_32_bit = True
443- self ._pos = self ._pos_prev
444- data = np .frombuffer (self ._blob , dtype = 'uint32' , count = self .read_value (), offset = self ._pos )
445- self ._pos_prev = self ._pos
437+ dtype = 'uint32' if use_32bit_dims else 'uint64'
438+ data = np .frombuffer (self ._blob , dtype = dtype , count = count , offset = self ._pos )
446439 self ._pos += data .dtype .itemsize * data .size
447440 return data [0 ] if count == 1 else data
448441
You can’t perform that action at this time.
0 commit comments