def lerp1D(u, v, t: float) -> float:
    """
    lerp1D ( u, v, t ) = u + t * (v - u)
    :param u: any type that supports vector addition and scalar multiplication
    :param v: any type that supports vector addition and scalar multiplication
    :param t: (float) parameter at which interpolation is sought
    :return: (float) the interpolated value at the desired parameter
    """
    w = v - u
    return u + (w * t)