Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       logb, logbf, logbl - получение целочисленной экспоненты значения числа с плавающей запятой

LIBRARY

       Math library (libm, -lm)

СИНТАКСИС

       #include <math.h>

       int ilogb(double x);
       int ilogbf(float x);
       int ilogbl(long double x);

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

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

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

ОПИСАНИЕ

       Данные  функции  возвращают  экспоненту  своих  аргументов  в виде целого числа со знаком. При отсутствии
       ошибок они эквивалентны соответствующим функциям logb(3), значение которых приведено к int.

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

       При успешном выполнении эти функции возвращают экспоненту от x в виде целого числа со знаком.

       Если x равно нулю, то будет сгенерирована ошибка выхода за пределы области, а в качестве результата будет
       возвращено FP_ILOGB0.

       Если x равно NaN, то будет сгенерирована ошибка выхода за пределы области, а в качестве результата  будет
       возвращено FP_ILOGBNAN.

       Если  x  равно  отрицательной  или  положительной  бесконечности, то будет сгенерирована ошибка выхода за
       пределы области, а в качестве результата будет возвращено INT_MAX.

ОШИБКИ

       Смотрите math_error(7), чтобы определить, какие ошибки могут возникать при вызове этих функций.

       Могут возникать следующие ошибки:

       Ошибка области: x равно 0 или NaN
              Вызывается исключение неправильной плавающей запятой (FE_INVALID)) и errno устанавливается в  EDOM
              (но смотрите ДЕФЕКТЫ).

       Ошибка области: x стремится к бесконечности
              Вызывается  исключение неправильной плавающей запятой (FE_INVALID)) и errno устанавливается в EDOM
              (но смотрите ДЕФЕКТЫ).

АТРИБУТЫ

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

СТАНДАРТЫ

       C99, POSIX.1-2001, POSIX.1-2008.

ДЕФЕКТЫ

       Before glibc 2.16, the following bugs existed in the glibc implementation of these functions:

       •  При ошибке области, когда x  равно  0  или  NaN,  не  изменялось  значение  errno  или  (на  некоторых
          архитектурах) не возникало исключение неправильной плавающей запятой.

       •  При  ошибке  области,  когда  x  равно  бесконечности,  не  изменялось значение errno или не возникало
          исключение неправильной плавающей запятой.

СМ. ТАКЖЕ

       log(3), logb(3), significand(3)

ПЕРЕВОД

       Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy
       S. Seregin <dseregin@59.ru>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное  письмо
       на man-pages-ru-talks@lists.sourceforge.net.

Linux man-pages 6.03                            5 февраля 2023 г.                                       ilogb(3)