lgamma(3)

الاسم
lgamma, lgammaf, lgammal, lgamma_r, lgammaf_r, lgammal_r, signgam - دالة لوغاريتم غاما

المكتبة
مكتبة الرياضيات (libm، -lm)

موجز
#include <math.h>

double lgamma(double x);
float lgammaf(float x);
long double lgammal(long double x);

double lgamma_r(double x, int *signp);
float lgammaf_r(float x, int *signp);
long double lgammal_r(long double x, int *signp);

extern int signgam;

    متطلبات ماكروات اختبار الميزات لـ glibc (انظر feature_test_macros(7)):

lgamma():
    _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE
        || /* Since glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

lgammaf(), lgammal():
    _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
        || /* Since glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

lgamma_r(), lgammaf_r(), lgammal_r():
    /* منذ glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

signgam:
    _XOPEN_SOURCE
        || /* منذ glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

الوصف
لتعريف دالة غاما، راجع tgamma(3).

الدوال lgamma() و lgammaf() و lgammal() تُرجع اللوغاريتم الطبيعي للقيمة المطلقة لدالة غاما. يُرجَع إشارة دالة غاما في العدد الصحيح الخارجي signgam المُصرَّح عنه في <math.h>. تكون القيمة 1 عندما تكون دالة غاما موجبة أو صفرًا، و -1 عندما تكون سالبة.

بما أن استخدام موقع ثابت signgam ليس آمنًا للخيوط، فقد أُدخلت الدوال lgamma_r() و lgammaf_r() و lgammal_r()؛ فهي تُرجع الإشارة عبر المعامل signp.

قيمة الإرجاع
عند النجاح، تُرجع هذه الدوال اللوغاريتم الطبيعي لـ Gamma(x).

إذا كانت x ليست رقماً (NaN)، فسيُعاد NaN.

إذا كان x يساوي 1 أو 2، يُرجَع +0.

إذا كان x ما لا نهاية موجبة أو سالبة، تُعاد ما لا نهاية موجبة.

إذا كان x عددًا صحيحًا غير موجب، يحدث خطأ قطبي، وتُرجِع الدوال +HUGE_VAL أو +HUGE_VALF أو +HUGE_VALL، على التوالي.

إذا تجاوزت النتيجة السعة، يحدث خطأ في النطاق، وتعيد الدوال HUGE_VAL أو HUGE_VALF أو HUGE_VALL على التوالي، مع الإشارة الرياضية الصحيحة.

الأخطاء
انظر math_error(7) لمعلومات حول كيفية تحديد ما إذا كان قد حدث خطأ عند استدعاء هذه الدوال.

الأخطاء التالية يمكن أن تحدث:

خطأ قطبي: x عدد صحيح غير موجب
    يُضبط errno على ERANGE (لكن راجع BUGS). ويُثار استثناء نقطة عائمة للقسمة على صفر (FE_DIVBYZERO).

خطأ في النطاق: طفح في النتيجة
    تُضبط errno على ERANGE. وُيرفع استثناء تجاوز نقطة عائمة (FE_OVERFLOW).

المعايير

lgamma()
lgammaf()
lgammal()
    C11, POSIX.1-2008.

signgam
    POSIX.1-2008.

lgamma_r()
lgammaf_r()
lgammal_r()
    لا شيء.

التاريخ

lgamma()
lgammaf()
lgammal()
    C99، POSIX.1-2001.

signgam
    POSIX.1-2001.

lgamma_r()
lgammaf_r()
lgammal_r()
    لا شيء.

العلل
في glibc 2.9 وما قبله، عند حدوث خطأ قطبي، يُضبط errno على EDOM؛ بدلاً من ERANGE المطلوب من POSIX. منذ glibc 2.10، يفعل glibc الشيء الصحيح.

انظر أيضًا
tgamma(3)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.