'Returns the first derivative of a DiracDelta Function.
The difference between ``diff()`` and ``fdiff()`` is:-
``diff()`` is the user-level function and ``fdiff()`` is an object method.
``fdiff()`` is just a convenience method available in the ``Function`` class.
It returns the derivative of the function without considering the chain rule.
``diff(function, x)`` calls ``Function._eval_derivative`` which in turn calls
``fdiff()`` internally to compute the derivative of the function.'

def fdiff(self, argindex=1):

    if (argindex == 1):
        x = sympify(self.args[0])
        a = sympify(self.args[1])
        n = sympify(self.args[2])
        if ((n == 0) or (n == (-1))):
            return self.func(x, a, (n - 1))
        elif n.is_positive:
            return (n * self.func(x, a, (n - 1)))
    else:
        raise ArgumentIndexError(self, argindex)
