parameters: (f)
return_statement: return arraydesc
docstring: Function to read in an array descriptor
docstring_summary: Function to read in an array descriptor
docstring_tokens: Function to read in an array descriptor
function: def _read_arraydesc(f):
      '''Function to read in an array descriptor'''
  
      arraydesc = {'arrstart': _read_long(f)}
  
      if arraydesc['arrstart'] == 8:
  
          _skip_bytes(f, 4)
  
          arraydesc['nbytes'] = _read_long(f)
          arraydesc['nelements'] = _read_long(f)
          arraydesc['ndims'] = _read_long(f)
  
          _skip_bytes(f, 8)
  
          arraydesc['nmax'] = _read_long(f)
  
          arraydesc['dims'] = []
          for d in range(arraydesc['nmax']):
              arraydesc['dims'].append(_read_long(f))
  
      elif arraydesc['arrstart'] == 18:
  
          warnings.warn("Using experimental 64-bit array read")
  
          _skip_bytes(f, 8)
  
          arraydesc['nbytes'] = _read_uint64(f)
          arraydesc['nelements'] = _read_uint64(f)
          arraydesc['ndims'] = _read_long(f)
  
          _skip_bytes(f, 8)
  
          arraydesc['nmax'] = 8
  
          arraydesc['dims'] = []
          for d in range(arraydesc['nmax']):
              v = _read_long(f)
              if v != 0:
                  raise Exception("Expected a zero in ARRAY_DESC")
              arraydesc['dims'].append(_read_long(f))
  
      else:
  
          raise Exception("Unknown ARRSTART: %i" % arraydesc['arrstart'])
  
      return arraydesc
function_tokens: def _read_arraydesc ( f ) : arraydesc = { 'arrstart' : _read_long ( f ) } if arraydesc [ 'arrstart' ] == 8 : _skip_bytes ( f , 4 ) arraydesc [ 'nbytes' ] = _read_long ( f ) arraydesc [ 'nelements' ] = _read_long ( f ) arraydesc [ 'ndims' ] = _read_long ( f ) _skip_bytes ( f , 8 ) arraydesc [ 'nmax' ] = _read_long ( f ) arraydesc [ 'dims' ] = [ ] for d in range ( arraydesc [ 'nmax' ] ) : arraydesc [ 'dims' ] . append ( _read_long ( f ) ) elif arraydesc [ 'arrstart' ] == 18 : warnings . warn ( "Using experimental 64-bit array read" ) _skip_bytes ( f , 8 ) arraydesc [ 'nbytes' ] = _read_uint64 ( f ) arraydesc [ 'nelements' ] = _read_uint64 ( f ) arraydesc [ 'ndims' ] = _read_long ( f ) _skip_bytes ( f , 8 ) arraydesc [ 'nmax' ] = 8 arraydesc [ 'dims' ] = [ ] for d in range ( arraydesc [ 'nmax' ] ) : v = _read_long ( f ) if v != 0 : raise Exception ( "Expected a zero in ARRAY_DESC" ) arraydesc [ 'dims' ] . append ( _read_long ( f ) ) else : raise Exception ( "Unknown ARRSTART: %i" % arraydesc [ 'arrstart' ] ) return arraydesc