def range(start, stop, step=1.0):
    """Replacement for built-in range function.

    :param start: Starting value.
    :type start: number
    :param stop: End value.
    :type stop: number
    :param step: Step size.
    :type step: number
    :returns: List of values from `start` to `stop` incremented by `size`.
    :rtype: [float]
    """
    start, stop, step = map(float, (start, stop, step))
    result = [start]
    current = start
    while current < stop:
        current += step
        result.append(current)
    return result
