parameters: (self, result, mask, other, op_name: str)
return_statement: return type(self)(result, mask, copy=False)
docstring: Parameters
          ----------
          result : array-like
          mask : array-like bool
          other : scalar or array-like
          op_name : str
docstring_summary: Parameters
          ----------
          result : array-like
          mask : array-like bool
          other : scalar or array-like
          op_name : str
docstring_tokens: Parameters ---------- result : array - like mask : array - like bool other : scalar or array - like op_name : str
function: def _maybe_mask_result(self, result, mask, other, op_name: str):
          """
          Parameters
          ----------
          result : array-like
          mask : array-like bool
          other : scalar or array-like
          op_name : str
          """
          # TODO are there cases we don't end up with float?
          # if we have a float operand we are by-definition
          # a float result
          # or our op is a divide
          # if (is_float_dtype(other) or is_float(other)) or (
          #     op_name in ["rtruediv", "truediv"]
          # ):
          #     result[mask] = np.nan
          #     return result
  
          return type(self)(result, mask, copy=False)
function_tokens: def _maybe_mask_result ( self , result , mask , other , op_name : str ) : # TODO are there cases we don't end up with float? # if we have a float operand we are by-definition # a float result # or our op is a divide # if (is_float_dtype(other) or is_float(other)) or ( #     op_name in ["rtruediv", "truediv"] # ): #     result[mask] = np.nan #     return result return type ( self ) ( result , mask , copy = False )