def METHOD_NAME(condition, *args, **kwds):  # pylint: disable=C0111
    if len(args) == 0:
        # nothing to do
        return np.METHOD_NAME(condition, *args, **kwds)
    elif len(args) == 2:
        # check that x and y have the same dimensions
        fail_for_dimension_mismatch(
            args[0], args[1], "x and y need to have the same dimensions"
        )
        if is_dimensionless(args[0]):
            return np.METHOD_NAME(condition, *args, **kwds)
        else:
            # as both arguments have the same unit, just use the first one's
            dimensionless_args = [np.asarray(arg) for arg in args]
            return Quantity.with_dimensions(
                np.METHOD_NAME(condition, *dimensionless_args), args[0].dimensions
            )
    else:
        # illegal number of arguments, let numpy take care of this
        return np.METHOD_NAME(condition, *args, **kwds)