RINT(3)

НАЗВАНИЕ
nearbyint, nearbyintf, nearbyintl, rint, rintf, rintl - округляют значение до ближайшего целого числа

СИНТАКСИС
#include <math.h>

double nearbyint(double x);
float nearbyintf(float x);
long double nearbyintl(long double x);

double rint(double x);
float rintf(float x);
long double rintl(long double x);

ОПИСАНИЕ
Функции nearbyint округляют аргумент до целого значения в формате числа с плавающей запятой, используя текущее направление округления и без вызова исключительной ошибки inexact.

Функции rint делают то-же самое, но вызовут исключительную ошибку inexact, если результат отличается по значению от аргумента.

ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
Округленное целое значение. Если x является целым, бесконечным, или нечисловым значением, то возвратится само значение x.

НАЙДЕННЫЕ ОШИБКИ
Могут произойти только ошибки EDOM и ERANGE. Если x явялется нечисловым значением, то возвращается оно-же и errno устанавливается в EDOM.

ЗАМЕЧАНИЯ
SUSv2 и POSIX 1003.1-2001 содержат в тексте информацию об ошибке переполнения (которая может установить errno в ERANGE или вызвать исключительную ошибку). В действительности результаты не могут вызвать ошибку переполнения на любой из современных машин, так что эти описания ошибки просто нонсенс. (Если быть точнее, преполнение может случиться только когда максимальное значение экпоненты меньше, чем количество бит мантиссы. Для стандарта IEEE-754 32-битные и 64-битные числа с плавающей запятой имеют максимальное значение экспоненты 128 (и соотвественно 1024), а число битов мантиссы равно 24 (и соответственно 53).)

СООТВЕТСТВИЕ СТАНДАРТАМ
Функция rint() соответствует стандарту BSD 4.3. Остальные функции соответствуют стандарту C99.

СМ. ТАКЖЕ
ceil(3), floor(3), lrint(3), nearbyint(3), round(3), trunc(3)