nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl -
операции
над
числами с
плавающей
запятой
Math library (
libm,
-lm)
#include <math.h>
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():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| _XOPEN_SOURCE >= 500
|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
nextafterf(),
nextafterl():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
nexttoward(),
nexttowardf(),
nexttowardl():
_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE
|| _POSIX_C_SOURCE >= 200112L
Функции
nextafter(),
nextafterf() и
nextafterl()
возвращают
следующее
представимое
значение с
плавающей
запятой
после
x по
направлению
к
y. Если
y
меньше
x, то
эти
функции
возвращают
наибольшее
представимое
число,
которое
меньше
x.
Если
x =
y, то
функции
возвращают
y.
Функции
nexttoward(),
nexttowardf() и
nexttowardl()
делают то
же, что и
функции
nextafter(),
за
исключением
того, что у
них второй
аргумент
имеет тип
long
double.
При
успешном
выполнении
данные
функции
возвращают
представимое
значение с
плавающей
запятой
следующее
за
x по
направлению
к
y.
Если
x =
y, то
возвращается
значение
y
(приведённое
к типу
x).
Если
значение
x
или
y равно
NaN, будет
возвращено
NaN.
Если
x
имеет
конечное
значение и
происходит
переполнение
результата,
возникает
ошибка
диапазона,
то функции
возвращают
HUGE_VAL,
HUGE_VALF или
HUGE_VALL,
соответственно,
с
математически
правильным
знаком.
Если
x не
равно
y, и
правильный
результат
функции
был бы
субнормальным,
нулём или
возникала
бы
исчерпание
степени,
ошибка
диапазона,
то
возвращается
любое
правильное
значение
(если оно
представимо)
или 0,0.
Смотрите
math_error(7), чтобы
определить,
какие
ошибки
могут
возникать
при вызове
этих
функций.
Могут
возникать
следующие
ошибки:
- Ошибка
диапазона:
результат
превысил
разрядность
- Значение
errno
устанавливается
в ERANGE.
Возникает
исключение
переполнения
плавающей
запятой (
FE_OVERFLOW).
- Ошибка
диапазона:
результат
субнормальный
или
исчерпание
степени
- Значение
errno
устанавливается
в ERANGE.
Возникает
исключение
исчерпания
степени
чисел с
плавающей
запятой (
FE_UNDERFLOW).
Описание
терминов
данного
раздела
смотрите в
attributes(7).
Интерфейс |
Атрибут |
Значение |
nextafter(), nextafterf(), nextafterl(),
nexttoward(), nexttowardf(), nexttowardl() |
Безвредность
в нитях |
MT-Safe |
C99, POSIX.1-2001, POSIX.1-2008. Эта
функция
определена
в IEC 559 (и в
приложении
с
рекомендуемыми
функциями IEEE
754/IEEE 854).
In glibc 2.5 and earlier, these functions do not raise an underflow
floating-point (
FE_UNDERFLOW) exception when an underflow occurs.
Before glibc 2.23 these functions did not set
errno.
nearbyint(3)
Русский
перевод
этой
страницы
руководства
был сделан Alex
Nik <
[email protected]>, Azamat Hackimov
<
[email protected]>, Dmitry Bolkhovskikh
<
[email protected]>, Yuri Kozlov <
[email protected]> и
Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]