Provided by: manpages-ru-dev_4.18.1-1_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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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