fmodf - функция получения остатка от деления числа с плавающей
fmodf(3)
функция получения остатка от деления числа с плавающей
Other Alias
fmod, fmodl
ОБЗОР
#include <math.h>
double fmod(double x, double y);
float fmodf(float x, float y);
long double fmodl(long double x, long double y);
Компонуется при указании параметра -lm.
Требования макроса тестирования свойств для glibc
(см. feature_test_macros(7)):
fmodf(), fmodl():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE
|| _POSIX_C_SOURCE >= 200112L;
или
cc -std=c99
ОПИСАНИЕ
Эти функции вычисляют остаток деления числа с плавающей запятой
x на
y. Возвращаемое значение:
x -
n *
y, где
n — частное
x /
y, округлённое к нулю до ближайшего целого числа.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении функции возвращают значение
x -
n*
y для
некоторого целого
n; при этом возвращаемое значение имеет тот же знак что
и
x, а абсолютное значение меньше абсолютного значения
y.
Если x или y равно NaN, то будет возвращено NaN.
Если x стремится к бесконечности, то будет сгенерирована ошибка выхода за
пределы области, а в качестве результата будет возвращено NaN.
Если y равно 0, то будет сгенерирована ошибка выхода за пределы области,
а в качестве результата будет возвращено NaN.
Если x равно +0 (-0) и y не равно, то возвращается +0 (-0).
ОШИБКИ
Смотрите
math_error(7), чтобы определить, какие ошибки могут возникать
при вызове этих функций.
Могут возникать следующие ошибки:
Ошибка области:
x стремится к бесконечности
errno устанавливается в
EDOM (но см. ДЕФЕКТЫ). Возникает исключение
неправильной плавающей точки (
FE_INVALID).
Ошибка области:
y равно 0
errno устанавливается в
EDOM. Вызывается исключение неправильной
плавающей точки (
FE_INVALID).
АТРИБУТЫ
Описание терминов данного раздела смотрите в
attributes(7).
Интерфейс Атрибут Значение
fmod(),
fmodf(),
fmodl()
безвредность в потоках: безвредно (MT-Safe)
СООТВЕТСТВИЕ СТАНДАРТАМ
C99, POSIX.1-2001, POSIX.1-2008.
Вариант, возвращающий значение типа double, также соответствует SVr4,
4.3BSD, C89.
ДЕФЕКТЫ
До версии 2.10 в реализации glibc при возникновении ошибки области
переменная
errno не устанавливалась в значение
EDOM для бесконечного
x.