def METHOD_NAME(X, weights, length, bias, dilation, padding):
    n_timepoints = len(X)
    output_length = (n_timepoints + (2 * padding)) - ((length - 1) * dilation)
    _ppv = 0
    _max = np.NINF
    end = (n_timepoints + padding) - ((length - 1) * dilation)
    for i in range(-padding, end):
        _sum = bias
        index = i
        for j in range(length):
            if index > -1 and index < n_timepoints:
                _sum = _sum + weights[j] * X[index]
            index = index + dilation
        if _sum > _max:
            _max = _sum
        if _sum > 0:
            _ppv += 1
    return np.float32(_ppv / output_length), np.float32(_max)