nextafter(3)

الاسم
nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl - معالجة الأعداد ذات الفاصلة العائمة

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

موجز
#include <math.h>

double nextafter(double x, double y);
float nextafterf(float x, float y);
long double nextafterl(long double x, long double y);

double nexttoward(double x, long double y);
float nexttowardf(float x, long double y);
long double nexttowardl(long double x, long double y);

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

nextafter():
    _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
        || _XOPEN_SOURCE >= 500
        || /* منذ glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

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

nexttoward(), nexttowardf(), nexttowardl():
    _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE
        || _POSIX_C_SOURCE >= 200112L

الوصف
الدوال nextafter() و nextafterf() و nextafterl() تُعيد القيمة التالية القابلة للتمثيل ذات الفاصلة العائمة بعد x في اتجاه y. إذا كان y أقل من x، تُعيد هذه الدوال أكبر عدد قابل للتمثيل أقل من x.

إذا كان x يساوي y، تُعيد الدوال y.

الدوال nexttoward() و nexttowardf() و nexttowardl() تفعل نفس ما تفعله الدوال المقابلة nextafter()، باستثناء أن لها معامل ثانٍ من النوع long double.

قيمة الإرجاع
عند النجاح، تُعيد هذه الدوال القيمة التالية القابلة للتمثيل ذات الفاصلة العائمة بعد x في اتجاه y.

إذا كان x يساوي y، يُعاد y (محوَّلًا إلى نفس نوع x).

إذا كان x أو y هو NaN، فسيُعاد NaN.

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

إذا كان x لا يساوي y، وكانت نتيجة الدالة الصحيحة ستكون دون طبيعي أو صفرًا أو تدفقًا سفليًا، يحدث خطأ نطاق، وتُعاد إما القيمة الصحيحة (إذا أمكن تمثيلها) أو 0.0.

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

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

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

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

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
nextafter()، nextafterf()، nextafterl()، nexttoward()، nexttowardf()، nexttowardl() | سلامة الخيوط | MT-Safe

المعايير
C11, POSIX.1-2008.

عُرّفت هذه الدالة في IEC 559 (والملحق مع الدوال الموصى بها في IEEE 754/IEEE 854).

التاريخ
C99، POSIX.1-2001.

العلل
في glibc 2.5 والإصدارات الأقدم، لا تُثير هذه الدوال استثناء التدفق السفلي ذي الفاصلة العائمة (FE_UNDERFLOW) عند حدوث تدفق سفلي.

قبل glibc 2.23 لم تُعيّن هذه الدوال errno.

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

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

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

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