For each function
with at least one parameter of type
floating-point-type
other than
abs,
the implementation also provides additional overloads sufficient to ensure that,
if every argument corresponding to
a
floating-point-type parameter has arithmetic type,
then every such argument is effectively cast to the floating-point type
with the greatest floating-point conversion rank and
greatest floating-point conversion subrank
among the types of all such arguments,
where arguments of integer type are considered to have
the same floating-point conversion rank as
double. If no such floating-point type with the greatest rank and subrank exists,
then overload resolution does not result in
a usable candidate (
[over.match.general])
from the overloads provided by the implementation
.