<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def set_default_waveset(minwave=500, maxwave=26000, num=10000, delta=None, log=True):
 """Set the default wavelength set, ``pysynphot.refs._default_waveset``. Parameters minwave, maxwave : float, optional The start (inclusive) and end (exclusive) points of the wavelength set. Values should be given in linear space regardless of ``log``. num : int, optional The number of elements in the wavelength set. Only used if ``delta=None``. delta : float, optional Delta between values in the wavelength set. If ``log=True``, this defines wavelegth spacing in log space. log : bool, optional Determines whether the wavelength set is evenly spaced in log or linear space. """

    global _default_waveset
    global _default_waveset_str

    # Must be int for numpy>=1.12
    num = int(num)

    s = 'Min: %s, Max: %s, Num: %s, Delta: %s, Log: %s'

    if log and not delta:
        s = s % tuple([str(x) for x in (minwave, maxwave, num, None, log)])

        logmin = np.log10(minwave)
        logmax = np.log10(maxwave)

        _default_waveset = np.logspace(logmin, logmax, num, endpoint=False)

    elif log and delta:
        s = s % tuple([str(x) for x in (minwave, maxwave, None, delta, log)])

        logmin = np.log10(minwave)
        logmax = np.log10(maxwave)

        _default_waveset = 10 ** np.arange(logmin, logmax, delta)

    elif not log and not delta:
        s = s % tuple([str(x) for x in (minwave, maxwave, num, None, log)])

        _default_waveset = np.linspace(minwave, maxwave, num, endpoint=False)

    elif not log and delta:
        s = s % tuple([str(x) for x in (minwave, maxwave, None, delta, log)])

        _default_waveset = np.arange(minwave, maxwave, delta)

    _default_waveset_str = s