docs: def array_to_raw_qtemporal(array, qtype):
      '''
      Converts `numpy.array` containing ``datetime64``/``timedelta64`` to raw
      q representation.
      
      Examples:
      
        >>> na_dt = numpy.arange('1999-01-01', '2005-12-31', dtype='datetime64[D]')
        >>> print(array_to_raw_qtemporal(na_dt, qtype = QDATE_LIST))
        [-365 -364 -363 ..., 2188 2189 2190]
        >>> array_to_raw_qtemporal(numpy.arange(-20, 30, dtype='int32'), qtype = QDATE_LIST)
        Traceback (most recent call last):
          ...
        ValueError: array.dtype is expected to be of type: datetime64 or timedelta64. Was: int32
      
      :Parameters:
       - `array` (`numpy.array`) - numpy datetime/timedelta array to be converted
       - `qtype` (`integer`) - qtype indicator
      
      :returns: `numpy.array` - numpy array with raw values
      
      :raises: `ValueError`
      '''
      if not isinstance(array, numpy.ndarray):
          raise ValueError('array parameter is expected to be of type: numpy.ndarray. Was: %s' % type(array))
  
      if not array.dtype.type in (numpy.datetime64, numpy.timedelta64):
          raise ValueError('array.dtype is expected to be of type: datetime64 or timedelta64. Was: %s' % array.dtype)
  
      qtype = -abs(qtype)
      conversion = _TO_RAW_LIST[qtype]
      raw = array.view(numpy.int64).view(numpy.ndarray)
      mask = raw == numpy.int64(-2 ** 63)
  
      raw = conversion(raw) if conversion else raw
      null = qnull(qtype)
      raw = numpy.where(mask, null, raw)
      return raw