Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       nearbyint, nearbyintf, nearbyintl, rint, rintf, rintl - округление до ближайшего целого

БИБЛИОТЕКА

       Математическая библиотека (libm, -lm)

ОБЗОР

       #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);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       nearbyint(), nearbyintf(), nearbyintl():
           _POSIX_C_SOURCE >= 200112L || _ISOC99_SOURCE

       rint():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
               || _XOPEN_SOURCE >= 500
               || /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
               || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

       rintf(), rintl():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
               || /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
               || /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

ОПИСАНИЕ

       Функции  nearbyint(),  nearbyintf()  и  nearbyintl()  округляют  переданный аргумент до целого значения в
       формате с плавающей запятой в соответствии с текущим направлением округления (смотрите  fesetround(3))  и
       не  генерируют  исключение  о  неточности.  Когда текущее округление направлено к ближайшему целому, то в
       случае нахождения посереди между значениями эти функции округляют до чётного  целого,  в  соответствии  с
       IEEE-754.

       Функции  rint(), rintf() и rintl() делают то же самое, но генерируют исключение о неточности (FE_INEXACT,
       проверяется с помощью fetestexcept(3)), если результат отличается в значении от аргумента.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       Данные функции возвращают округлённое целое число.

       Если x целое, +0, -0, NaN или стремится к бесконечности, то будет возвращено значение x.

ОШИБКИ

       Ошибки не возникают.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌─────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ ИнтерфейсАтрибутЗначение │
       ├─────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │ nearbyint(), nearbyintf(), nearbyintl(), rint(), rintf(), rintl()   │ Безвредность в нитях │ MT-Safe  │
       └─────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       C11, POSIX.1-2008.

ИСТОРИЯ

       C99, POSIX.1-2001.

       В SUSv2 и POSIX.1-2001 есть текст о переполнении (которое может установить errno  в  ERANGE  или  вызвать
       исключение  FE_OVERFLOW).  На  практике,  результат  не  может  выйти за диапазон ни на каком компьютере,
       поэтому обработка этой ошибки не имела смысла (точнее говоря, переполнение возможно только в том  случае,
       когда  максимальное  значение  экспоненты  меньше  числа  бит  мантиссы.  В  стандарте IEEE-754 для 32- и
       64-битных чисел с плавающей точкой максимальное значение экспоненты равно 127 и  1023  соответственно,  а
       число бит мантиссы — 24 и 53 соответственно).

       Если  вы  хотите  сохранить  округлённое  значение  в  целочисленном  типе, то лучше использовать одну из
       функций, описанных в lrint(3).

СМОТРИТЕ ТАКЖЕ

       ceil(3), floor(3), lrint(3), round(3), trunc(3)

ПЕРЕВОД

       Русский перевод этой страницы руководства  разработал(и)  aereiae  <aereiae@gmail.com>,  Azamat  Hackimov
       <azamat.hackimov@gmail.com>,     Dmitriy     S.     Seregin     <dseregin@59.ru>,     Katrin     Kutepova
       <blackkatelv@gmail.com>,  Lockal  <lockalsash@gmail.com>,  Yuri  Kozlov   <yuray@komyakino.ru>,   Баринов
       Владимир, Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                  16 июня 2024 г.                                         rint(3)