File tree Expand file tree Collapse file tree 1 file changed +3
-10
lines changed Expand file tree Collapse file tree 1 file changed +3
-10
lines changed Original file line number Diff line number Diff line change 43
43
}
44
44
45
45
bypass_serialization = False # runtime setting to bypass blob (en|de)code
46
+ use_32bit_dims = False # runtime setting to read data as 32-bit
46
47
47
48
48
49
def len_u64 (obj ):
@@ -68,9 +69,7 @@ def __init__(self, squeeze=False):
68
69
self ._squeeze = squeeze
69
70
self ._blob = None
70
71
self ._pos = 0
71
- self ._pos_prev = 0
72
72
self .protocol = None
73
- self .is_32_bit = False
74
73
75
74
def set_dj0 (self ):
76
75
if not config .get ('enable_python_native_blobs' ):
@@ -435,14 +434,8 @@ def read_zero_terminated_string(self):
435
434
436
435
def read_value (self , dtype = None , count = 1 ):
437
436
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 )
446
439
self ._pos += data .dtype .itemsize * data .size
447
440
return data [0 ] if count == 1 else data
448
441
You can’t perform that action at this time.
0 commit comments