code: def _get_conversion_factor(old_units, new_units, dtype):
      
      if old_units.dimensions != new_units.dimensions:
          raise UnitConversionError(
              old_units, old_units.dimensions, new_units, new_units.dimensions
          )
      ratio = old_units.base_value / new_units.base_value
      if old_units.base_offset == 0 and new_units.base_offset == 0:
          return (ratio, None)
      else:
          # the dimensions are the same, so both are temperatures, where
          # it's legal to convert units so no need to do error checking
          return ratio, ratio * old_units.base_offset - new_units.base_offset
docs: Get the conversion factor between two units of equivalent dimensions. This
      is the number you multiply data by to convert from values in `old_units` to
      values in `new_units`.
  
      Parameters
      ----------
      old_units: str or Unit object
          The current units.
      new_units : str or Unit object
          The units we want.
      dtype: NumPy dtype
          The dtype of the conversion factor
  
      Returns
      -------
      conversion_factor : float
          `old_units / new_units`
      offset : float or None
          Offset between the old unit and new unit.