@pexdoc.pcontracts.contract(<EOL>wave=Waveform, indep_min="<STR_LIT>", indep_max="<STR_LIT>"<EOL>)<EOL>def average(wave, indep_min=None, indep_max=None):
ret = copy.copy(wave)<EOL>_bound_waveform(ret, indep_min, indep_max)<EOL>area = _running_area(ret._indep_vector, ret._dep_vector)<EOL>area[<NUM_LIT:0>] = ret._dep_vector[<NUM_LIT:0>]<EOL>deltas = ret._indep_vector - ret._indep_vector[<NUM_LIT:0>]<EOL>deltas[<NUM_LIT:0>] = <NUM_LIT:1.0><EOL>ret._dep_vector = np.divide(area, deltas)<EOL>ret.dep_name = "<STR_LIT>".format(ret._dep_name)<EOL>return ret<EOL>
r"""
    Return the running average of a waveform's dependent variable vector.

    :param wave: Waveform
    :type  wave: :py:class:`peng.eng.Waveform`

    :param indep_min: Independent vector start point of computation
    :type  indep_min: integer or float

    :param indep_max: Independent vector stop point of computation
    :type  indep_max: integer or float

    :rtype: :py:class:`peng.eng.Waveform`

    .. [[[cog cog.out(exobj_eng.get_sphinx_autodoc(raised=True)) ]]]
    .. Auto-generated exceptions documentation for
    .. peng.wave_functions.average

    :raises:
     * RuntimeError (Argument \`indep_max\` is not valid)

     * RuntimeError (Argument \`indep_min\` is not valid)

     * RuntimeError (Argument \`wave\` is not valid)

     * RuntimeError (Incongruent \`indep_min\` and \`indep_max\`
       arguments)

    .. [[[end]]]