code: def _arith_method_SPARSE_SERIES(cls, op, special):
      
      op_name = _get_op_name(op, special)
  
      def wrapper(self, other):
          if isinstance(other, ABCDataFrame):
              return NotImplemented
          elif isinstance(other, ABCSeries):
              if not isinstance(other, ABCSparseSeries):
                  other = other.to_sparse(fill_value=self.fill_value)
              return _sparse_series_op(self, other, op, op_name)
          elif is_scalar(other):
              with np.errstate(all='ignore'):
                  new_values = op(self.values, other)
              return self._constructor(new_values,
                                       index=self.index,
                                       name=self.name)
          else:  # pragma: no cover
              raise TypeError('operation with {other} not supported'
                              .format(other=type(other)))
  
      wrapper.__name__ = op_name
      return wrapper
docs: Wrapper function for Series arithmetic operations, to avoid
      code duplication.