def _binary_data_bytecount(niml): '''helper function that returns how many bytes a NIML binary data element should have''' niform = niml['ni_form'] if not 'binary' in niform: raise ValueError('Illegal niform %s' % niform) tps = niml['vec_typ'] onetype = types.findonetype(tps) if onetype is None: debug('NIML', 'Not unique type: %r', tps) return None # numeric, either int or float ncols = niml['vec_num'] nrows = niml['vec_len'] tp = types.code2numpy_type(onetype) bytes_per_elem = types.numpy_type2bytecount(tp) if bytes_per_elem is None: raise ValueError("Type not supported: %r" % onetype) nb = ncols * nrows * bytes_per_elem debug('NIML', 'Number of bytes for %s: %d x %d with %d bytes / element', (niform, ncols, nrows, bytes_per_elem)) return nb
def _binary_data_bytecount(niml): '''helper function that returns how many bytes a NIML binary data element should have''' niform = niml['ni_form'] if not 'binary' in niform: raise ValueError('Illegal niform %s' % niform) tps = niml['vec_typ'] onetype = types.findonetype(tps) if onetype is None: debug('NIML', 'Not unique type: %r', tps) return None # numeric, either int or float ncols = niml['vec_num'] nrows = niml['vec_len'] tp = types.code2numpy_type(onetype) bytes_per_elem = types.numpy_type2bytecount(tp) if bytes_per_elem is None: raise ValueError("Type not supported: %r" % onetype) nb = ncols * nrows * bytes_per_elem debug('NIML', 'Number of bytes for %s: %d x %d with %d bytes / element', (niform, ncols, nrows, bytes_per_elem)) return nb