code: def calculate_elem_per_kb(max_chunk_kb, matrix_dtype):
      
      if matrix_dtype == numpy.float32:
          return (max_chunk_kb * 8)/32
      elif matrix_dtype == numpy.float64:
          return (max_chunk_kb * 8)/64
      else:
          msg = "Invalid matrix_dtype: {}; only numpy.float32 and numpy.float64 are currently supported".format(matrix_dtype)
          logger.error(msg)
          raise Exception("write_gctx.calculate_elem_per_kb " + msg)
docs: Calculates the number of elem per kb depending on the max chunk size set. 
  
      Input: 
          - max_chunk_kb (int, default=1024): The maximum number of KB a given chunk will occupy
          - matrix_dtype (numpy dtype, default=numpy.float32): Storage data type for data matrix. 
              Currently needs to be np.float32 or np.float64 (TODO: figure out a better way to get bits from a numpy dtype).
  
      Returns: 
          elem_per_kb (int), the number of elements per kb for matrix dtype specified.