def add_special_arithmetic_methods(cls, arith_method=None, comp_method=None, bool_method=None, use_numexpr=True, force=False, select=None, exclude=None, have_divmod=False):
 new_methods = _create_methods(arith_method, comp_method, bool_method, use_numexpr, default_axis=None, special=True, have_divmod=have_divmod)
 def _wrap_inplace_method(method):
  '\n        return an inplace wrapper for this method\n        '
  def f(self, other):
   result = method(self, other)
   self._update_inplace(result.reindex_like(self, copy=False)._data, verify_is_copy=False)
   return self
  return f
 new_methods.update(dict(__iadd__=_wrap_inplace_method(new_methods['__add__']), __isub__=_wrap_inplace_method(new_methods['__sub__']), __imul__=_wrap_inplace_method(new_methods['__mul__']), __itruediv__=_wrap_inplace_method(new_methods['__truediv__']), __ipow__=_wrap_inplace_method(new_methods['__pow__'])))
 if (not compat.PY3):
  new_methods['__idiv__'] = new_methods['__div__']
 add_methods(cls, new_methods=new_methods, force=force, select=select, exclude=exclude)

def add_special_arithmetic_methods ( cls , arith_method = None , comp_method = None , bool_method = None , use_numexpr = True , force = False , select = None , exclude = None , have_divmod = False ) : new_methods = _create_methods ( arith_method , comp_method , bool_method , use_numexpr , default_axis = None , special = True , have_divmod = have_divmod ) def _wrap_inplace_method ( method ) : def f ( self , other ) : result = method ( self , other ) self . _update_inplace ( result . reindex_like ( self , copy = False ) . _data , verify_is_copy = False ) return self return f new_methods . update ( dict ( __iadd__ = _wrap_inplace_method ( new_methods [ '__add__' ] ) , __isub__ = _wrap_inplace_method ( new_methods [ '__sub__' ] ) , __imul__ = _wrap_inplace_method ( new_methods [ '__mul__' ] ) , __itruediv__ = _wrap_inplace_method ( new_methods [ '__truediv__' ] ) , __ipow__ = _wrap_inplace_method ( new_methods [ '__pow__' ] ) ) ) if ( not compat . PY3 ) : new_methods [ '__idiv__' ] = new_methods [ '__div__' ] add_methods ( cls , new_methods = new_methods , force = force , select = select , exclude = exclude )
adds the full suite of special arithmetic methods to the class .