cpp/numeric/lerp

@1@ Computes the between  and, if the parameter  is inside  (the  otherwise), i.e. the result of  with accounting for floating-point calculation imprecision. @A@ Additional overloads are provided for all other combinations of arithmetic types.

Return value
When is, the following properties are guaranteed:
 * If, the result is equal to.
 * If, the result is equal to.
 * If, the result is finite.
 * If, the result is equal to.
 * If, the result is not.

Let be  if,  if , and  otherwise. For any and, the product of is non-negative. (That is, is monotonic.)
 * , and
 * , and