double nextafter(double x, double y); float nextafterf(float x, float y); long double nextafterl(long double x, long double y);
double nexttoward(double x, long double y); float nexttowardf(float x, long double y); long double nexttowardl(long double x, long double y);
ОПИСАНИЕ
Функции
nextafter()
возвращают следующий ближайшее представимое для
x по направлению к y. Размер шага между
x и результатом зависит от типа результата.
Если x = y то функция просто возвращает y.
Если любое из значений является
NaN,
то возвращается
NaN.
Иначе добавляется или вычитается значение, соответствующее
значению наименьшего значимого бита в мантиссе, в зависимости
от направления.
Функции
nexttoward()
делают то же, что и функции
nextafter()
за исключением того, что у них второй аргумент имеет тип long double.
Эти функции будут выдавать переполнение или опустошение, если
результат выходит за границы диапазонов.
СООТВЕТСТВИЕ СТАНДАРТАМ
C99. Эти функции определены в IEC 559
(а также дополнения к рекомендуемым функциям в IEEE 754/IEEE 854).