Tgamma c что это
std:: tgamma, std:: tgammaf, std:: tgammal
Compiler support | ||||
Freestanding and hosted | ||||
Language | ||||
Standard library headers | ||||
Named requirements | ||||
Feature test macros (C++20) | ||||
Language support library | ||||
Concepts library (C++20) | ||||
Diagnostics library | ||||
General utilities library | ||||
Strings library | ||||
Containers library | ||||
Iterators library | ||||
Ranges library (C++20) | ||||
Algorithms library | ||||
Numerics library | ||||
Localizations library | ||||
Input/output library | ||||
Filesystem library (C++17) | ||||
Regular expressions library (C++11) | ||||
Atomic operations library (C++11) | ||||
Thread support library (C++11) | ||||
Technical specifications | ||||
Symbols index | ||||
External libraries |
Contents
[edit] Parameters
[edit] Return value
If a domain error occurs, an implementation-defined value (NaN where supported) is returned.
If a range error due to underflow occurs, the correct value (after rounding) is returned.
[edit] Error handling
If arg is zero or is an integer less than zero, a pole error or a domain error may occur.
If the implementation supports IEEE floating-point arithmetic (IEC 60559),
[edit] Notes
POSIX requires that a pole error occurs if the argument is zero, but a domain error occurs when the argument is a negative integer. It also specifies that in future, domain errors may be replaced by pole errors for negative integer arguments (in which case the return value in those cases would change from NaN to ±∞).
tgamma, tgammaf, tgammal
Определяет гамма-функцию указанного значения.
Синтаксис
Параметры
x
Значение, для которого требуется найти гамму.
Возвращаемое значение
В случае успеха возвращает гамму x.
Проблема | Возвращает |
---|---|
x = ± 0 | ± Бесконечности |
x = negative integer | Не число |
x =-бесконечность | Не число |
x = +INFINITY | +INFINITY |
x = NaN | Не число |
ошибка домена | Не число |
Ошибка полюса | ± HUGE_VAL, ± HUGE_VALF или ± HUGE_VALL |
Ошибка переполнения диапазона | ± HUGE_VAL, ± HUGE_VALF или ± HUGE_VALL |
ошибка недостаточного заполнения диапазона | правильное значение (после округления). |
Сообщает об ошибках, как указано в _matherr.
Комментарии
Если x является натуральным числом, эта функция возвращает факториал (x – 1).
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это, см. раздел глобальное состояние в CRT.
Требования
Функция | Заголовок C | Заголовок C++ |
---|---|---|
тгамма, tgammaf, тгаммал | ||
макрос тгамма |
Дополнительные сведения о совместимости см. в статье Compatibility.
Tgamma c что это
Компонуется при указании параметра -lm.
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
ОПИСАНИЕ
Гамма-функция определяется так:
Gamma(x) = integral from 0 to infinity of t^(x-1) e^-t dt
Она определена для всех действительных чисел кроме не положительных целых. Для не положительных интеграл m получим
и, в общем случае, для всех x:
Gamma(x+1) = x * Gamma(x)
Кроме это, допустимы все значения x вне особых точек:
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Если x равно NaN, то будет возвращено NaN.
Если x стремится к плюс бесконечности, то будет возвращена плюс бесконечность.
Если x отрицательное целое или стремится к минус бесконечности, то будет сгенерирована ошибка выхода за пределы области, а в качестве результата будет возвращено NaN.
Если происходит переполнение результата, возникает ошибка диапазона, а функция возвращает HUGE_VAL, HUGE_VALF или HUGE_VALL, соответственно, с математически правильным знаком.
Если происходит потеря разрядов, то возникает ошибка диапазона, а функция возвращает 0 с математически правильным знаком.
ОШИБКИ
Могут возникать следующие ошибки:
В glibc также возникает следующая ошибка, которая не определена в C99 или POSIX.1-2001:
Ошибка диапазона: результат потерял разрядность Возникает исключение исчезновение порядка плавающей запятой (FE_UNDERFLOW). В данном случае errno не изменяется.
Что за функция igamc(a,x)?
Как реализовать функцию igamc(a,x) в C++?
Очень мало информации нашла про эту функцию. Это неполная гамма-функция, правильно понимаю.
Что такое функция или функция под капотом
Собственно меня очень сильно интересует этот вопрос. Функция это указатель который содержит адрес.
Доказать, что для класса всех булевых функция базисами являются функция Вебба и штрих Шеффера
Помогите пожалуйста с доказательством. Дальше дано задания :Выразить через них все функции полной.
Добавлено через 8 минут
Все, нашла в одной книжке) Спасибо всем за помощь)
Добавлено через 28 секунд
Дайте объяснение, где что начинается и что это за функция.
uses crt; const pi=3.14; var a:array of integer; b:array of real; m:array of real;.
Как работает функция insert(то есть что надо отправлять что бы строка s вставлялась в строку s1)?
Добрый день.Подскажите пожалуйста как работает функция insert(то есть что надо отправлять что бы.
что нужно сделать чтобы если в TextBox Написано тоже самое что и в файле, Произошла функция?
Привет! мне нужна ваша помощь. что нужно сделать чтобы если в TextBox Написано тоже самое что и в.
Функция сохраняет кое что в бинарник, но проблема в том что указатель на файл все время оказывается пустой
у меня функция сохраняет кое что в бинарник, но проблема в том что указатель на файл все время.
Каково определение гаммы (двойной x) и почему оно отличается в двух версиях gcc?
В результате неудачных обстоятельств я обнаружил, что мои реализации стандартной библиотеки и (C ++), по-видимому, содержат определение функции с прототипом, например:
Хотя я не вижу его нигде в языковом стандарте (черновик, к которому у меня есть доступ).
Но в gcc v4.6.3 в Ubuntu 12.04 эта функция оценивается иначе.
Я не понимаю, почему функция с именем gamma вообще компилируется, но почему результат у разных компиляторов неодинаков?
Вот простая тестовая программа:
Скомпилируйте и запустите с 1 аргументом:
Но вывод на Ubuntu gcc v4.6.3 равен 0!
2 ответа
Эти функции реализуют математическая библиотека, а не gcc (компилятор). Если вы видите разное поведение в MacOS и Ubuntu, вероятно, это потому, что Ubuntu использует glibc, а MacOS использует что-то еще.
#include
double lgamma(double x);
float lgammaf(float x);
long double lgammal(long double x);
#include
double tgamma(double x);
float tgammaf(float x);
long double tgammal(long double x);
Эти функции отсутствуют в стандарте ISO C 1990 года. Они были представлены C99.
Эти функции устарели: вместо этого используйте tgamma (3) или функции lgamma (3), если это необходимо.
Для определения гамма-функции см. tgamma (3).
* Версия BSD
Библиотека libm в 4.4BSD и некоторых версиях FreeBSD имела функцию gamma (), которая вычисляет гамма-функцию, как и следовало ожидать.
версия glibc
Glibc имеет функцию gamma (), которая эквивалентна lgamma (3) и вычисляет натуральный логарифм гамма-функции.
И историческая справка:
В 4.2BSD была gamma (), которая вычисляла ln (| Gamma (| x |) |), оставляя знак гаммы (| x |) во внешней целочисленной сигнгаме. В 4.3BSD имя был изменен на lgamma (3), а страница руководства обещает
«Когда-нибудь в будущем гамма имени будет реабилитирована и будет использоваться для функции гаммы»
Это действительно произошло в 4.4BSD, где gamma () вычисляет гамму функция (не влияет на сигнгам). Однако это произошло слишком поздно, и теперь у нас есть tgamma (3), функция «истинная гамма».
Стандарт C, похоже, не говорит, что такое гамма-функция. Справочная страница Linux tgamma () (но если вы пытаетесь его использовать, вы, наверное, уже знаете, что это такое):
Он определен для каждого действительного числа, кроме неположительных целых.
Для неотрицательного интеграла m имеем
и, в более общем плане, для всех x:
Гамма (x + 1) = x * Гамма (x)
Кроме того, следующее верно для всех значений x вне полюсов:
На некоторых платформах (linux и bsd pre-4.2 или около того) gamma равно lgamma (журнал гамма-функции). На других платформах (osx и bsd post-4.4ish) это tgamma («истинная» гамма-функция). Это историческое любопытство.
Об этом есть примечание на страницах руководства OS X:
gamma () и gamma_r () устарели и не должны использоваться. Вместо этого следует использовать функцию tgamma (). Однако обратите внимание, что на некоторых платформах функции gamma () и gamma_r () исторически вычисляли журнал функции Gamma, а не самой функции Gamma. При переносе кода с таких платформ вместо этого необходимо использовать lgamma () или lgamma_r ().