До бесконечности и обратно
Существуют математические операции, которые дают вещественные числа из +/- бесконечности. Например exp(-infinity) = 0
. Есть ли стандарт для математических функций в стандартной библиотеке C
, которые принимают бесконечность IEEE-754 (без металирования или возврата NaN). Я нахожусь в Linux-системе и буду заинтересован в таком списке для glibc
. Я не мог найти такой список в своем онлайн-руководстве. Например, их документация на exp
не упоминает, как она обрабатывает случай -infinity
. Любая помощь будет высоко оценена.
Ответы
Ответ 1
См. также раздел определение POSIX 'math.h ссылки на определения допустимых доменов POSIX.
например. fabs()
:
If x is ±0, +0 shall be returned.
If x is ±Inf, +Inf shall be returned.
Я конвертировал упомянутый See See-section в StackOverflow-Markdown:
acos(),
acosh(),
asin(),
atan(),
atan2(),
cbrt(),
ceil(),
cos(),
cosh(),
erf(),
exp(),
expm1(),
fabs(),
floor(),
fmod(),
frexp(),
hypot(),
ilogb(),
isnan(),
j0(),
ldexp(),
lgamma(),
log(),
log10(),
log1p(),
logb(),
modf(),
nextafter(),
pow(),
остаток(),
rint(),
scalb(),
sin(),
sinh(),
sqrt(),
tan(),
tanh(),
y0(),
Я помог найти/заменить/regex-fu. Нам просто нужен кто-то с cURL-fu.
Ответ 2
В C99 в приложении F:
F.9.3.1 The exp functions
-- exp(±0) returns 1.
-- exp(-∞) returns +0.
-- exp(+∞) returns +∞.
Приложение F является нормативным и:
Реализация, которая определяет __STDC_IEC_559__
, должна соответствовать спецификациям в этом приложении.