Существуют математические операции, которые дают вещественные числа из +/- бесконечности. Например 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__
, должна соответствовать спецификациям в этом приложении.