code: def atleast_1d(*arrs):
      r
      mags = [a.magnitude if hasattr(a, 'magnitude') else a for a in arrs]
      orig_units = [a.units if hasattr(a, 'units') else None for a in arrs]
      ret = np.atleast_1d(*mags)
      if len(mags) == 1:
          if orig_units[0] is not None:
              return units.Quantity(ret, orig_units[0])
          else:
              return ret
      return [units.Quantity(m, u) if u is not None else m for m, u in zip(ret, orig_units)]
docs: r"""Convert inputs to arrays with at least one dimension.
  
      Scalars are converted to 1-dimensional arrays, whilst other
      higher-dimensional inputs are preserved. This is a thin wrapper
      around `numpy.atleast_1d` to preserve units.
  
      Parameters
      ----------
      arrs : arbitrary positional arguments
          Input arrays to be converted if necessary
  
      Returns
      -------
      `pint.Quantity`
          A single quantity or a list of quantities, matching the number of inputs.