.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993, David Metcalfe .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH fmod 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم fmod، fmodf، fmodl \- دالة باقي القسمة للفاصلة العائمة .SH المكتبة مكتبة الرياضيات (\fIlibm\fP،\ \fI\-lm\fP) .SH موجز .nf \fB#include \fP .P \fBdouble fmod(double \fP\fIx\fP\fB, double \fP\fIy\fP\fB);\fP \fBfloat fmodf(float \fP\fIx\fP\fB, float \fP\fIy\fP\fB);\fP \fBlong double fmodl(long double \fP\fIx\fP\fB, long double \fP\fIy\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBfmodf\fP()، \fBfmodl\fP(): .nf _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* Since glibc 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE .fi .SH الوصف تحسب هذه الدوال باقي القسمة للفاصلة العائمة لقسمة \fIx\fP على \fIy\fP. قيمة الإرجاع هي \fIx\fP \- \fIn\fP * \fIy\fP، حيث \fIn\fP هو خارج قسمة \fIx\fP / \fIy\fP، مقربًا نحو الصفر إلى عدد صحيح. .P للحصول على المعامل، وبشكل أكثر تحديدًا، الباقي الموجب الأصغر، ستحتاج إلى ضبط النتيجة من \fBfmod\fP() كما يلي: .P .in +4n .nf z = fmod(x, y); if (z < 0) z += fabs(y); .fi .in .P طريقة بديلة للتعبير عن ذلك هي باستخدام \fIfmod(fmod(x, y) + y, y)\fP، لكن \fBfmod\fP() الثانية عادةً ما تكلف أكثر بكثير من الفرع الواحد. .SH "قيمة الإرجاع" عند النجاح، تُرجع هذه الدوال القيمة \fIx\ \-\ n*y\fP، لعدد صحيح ما \fIn\fP، بحيث تكون للإشارة نفس إشارة \fIx\fP وقيمة مطلقة أقل من القيمة المطلقة لـ \fIy\fP. .P إذا كان \fIx\fP أو \fIy\fP هو NaN، فسيُعاد NaN. .P إذا كان \fIx\fP لا نهائيًا، يحدث خطأ نطاق، وتُعاد قيمة NaN. .P إذا كان \fIy\fP صفرًا، يحدث خطأ نطاق، وتُعاد قيمة NaN. .P إذا كان \fIx\fP هو +0 (\-0)، و \fIy\fP ليس صفرًا، يُعاد +0 (\-0). .SH الأخطاء انظر \fBmath_error\fP(7) لمعلومات حول كيفية تحديد ما إذا كان قد حدث خطأ عند استدعاء هذه الدوال. .P الأخطاء التالية يمكن أن تحدث: .TP خطأ في النطاق: \f[I]x\fR هي ما لا نهاية يُضبط \fIerrno\fP على \fBEDOM\fP (لكن راجع BUGS). ويُثار استثناء نقطة عائمة غير صالح (\fBFE_INVALID\fP). .TP خطأ في النطاق: \f[I]y\fR هو صفر .\" POSIX.1 documents an optional underflow error, but AFAICT it doesn't .\" (can't?) occur -- mtk, Jul 2008 تُضبط \fIerrno\fP على \fBEDOM\fP. وُيرفع استثناء نقطة عائمة غير صالح (\fBFE_INVALID\fP). .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. الواجهة السمة القيمة T{ .na .nh \fBfmod\fP(), \fBfmodf\fP(), \fBfmodl\fP() T} سلامة الخيوط MT\-Safe .TE .SH المعايير C11, POSIX.1\-2008. .SH التاريخ C99، POSIX.1\-2001. .P النسخة التي تُعيد \fIdouble\fP تتوافق أيضًا مع SVr4، و 4.3BSD، و C89. .SH العلل .\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6784 قبل glibc 2.10، لم يضبط تطبيق glibc \fIerrno\fP إلى \fBEDOM\fP عند حدوث خطأ نطاق لـ \fIx\fP لا نهائي. .SH أمثلة الاستدعاء \fIfmod(372, 360)\fP يُرجع 12. .P الاستدعاء \fIfmod(\-372, 360)\fP يُرجع \-12. .P الاستدعاء \fIfmod(\-372, \-360)\fP يُرجع أيضًا \-12. .SH "انظر أيضًا" \fBremainder\fP(3) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .