.\" -*- 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 random 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم random، srandom، initstate، setstate \- مولد الأعداد العشوائية .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBlong random(void);\fP \fBvoid srandom(unsigned int \fP\fIseed\fP\fB);\fP .P \fBchar *initstate(\fPsize_t n; \fB unsigned int \fP\fIseed\fP\fB, char \fP\fIstate\fP\fB[\fP\fIn\fP\fB], size_t \fP\fIn\fP\fB);\fP \fBchar *setstate(char *\fP\fIstate\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBrandom\fP()، \fBsrandom\fP()، \fBinitstate\fP()، \fBsetstate\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE .fi .SH الوصف تستخدم الدالة \fBrandom\fP() مولد أعداد عشوائية ذو تغذية راجعة جمعية غير خطية، يستخدم جدولاً مبدئياً بحجم 31 عدداً صحيحاً طويلاً لإرجاع أعداد شبه عشوائية متتالية في النطاق من 0 إلى 2\[ha]31\ \-\ 1. فترة هذا المولد كبيرة جداً، تقريباً \fI16\ *\ ((2\[ha]31)\ \-\ 1)\fP. .P تضبط الدالة \fBsrandom\fP() معاملها كبذرة لتسلسل جديد من الأعداد الصحيحة شبه العشوائية التي سترجعها \fBrandom\fP(). هذه التسلسلات قابلة للتكرار باستدعاء \fBsrandom\fP() بنفس قيمة البذرة. إذا لم تُقدم قيمة بذرة، تُزرع الدالة \fBrandom\fP() آلياً بقيمة 1. .P تسمح الدالة \fBinitstate\fP() بتهيئة مصفوفة حالة \fIstate\fP لاستخدامها بواسطة \fBrandom\fP(). يُستخدم حجم مصفوفة الحالة \fIn\fP بواسطة \fBinitstate\fP() لتقرير مدى تعقيد مولد الأعداد العشوائية الذي ينبغي استخدامه\[em]كلما كانت مصفوفة الحالة أكبر، كانت الأعداد العشوائية أفضل. القيم "المثلى" الحالية لحجم مصفوفة الحالة \fIn\fP هي 8، 32، 64، 128، و256 بايت؛ تُقرّب الكميات الأخرى إلى الأسفل لأقرب كمية معروفة. يؤدي استخدام أقل من 8 بايت إلى خطأ. \fIseed\fP هي بذرة التهيئة، التي تحدد نقطة بداية لتسلسل الأعداد العشوائية، وتوفر إمكانية إعادة التشغيل من نفس النقطة. .P تغير الدالة \fBsetstate\fP() مصفوفة الحالة المستخدمة بواسطة الدالة \fBrandom\fP(). تُستخدم مصفوفة الحالة \fIstate\fP لتوليد الأعداد العشوائية حتى الاستدعاء التالي لـ \fBinitstate\fP() أو \fBsetstate\fP(). يجب أن تكون \fIstate\fP قد هُيئت أولاً باستخدام \fBinitstate\fP() أو أن تكون نتيجة استدعاء سابق لـ \fBsetstate\fP(). .SH "قيمة الإرجاع" ترجع الدالة \fBrandom\fP() قيمة بين 0 و \fI(2\[ha]31)\ \-\ 1\fP. لا ترجع الدالة \fBsrandom\fP() أية قيمة. .P ترجع الدالة \fBinitstate\fP() مؤشراً إلى مصفوفة الحالة السابقة. عند الفشل، ترجع NULL، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .P عند النجاح، ترجع \fBsetstate\fP() مؤشراً إلى مصفوفة الحالة السابقة. عند الفشل، ترجع NULL، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEINVAL\fP كان المعامل \fIstate\fP المُعطى لـ \fBsetstate\fP() هو NULL. .TP \fBEINVAL\fP حُددت مصفوفة حالة أقل من 8 بايت لـ \fBinitstate\fP(). .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. الواجهة السمة القيمة T{ .na .nh \fBrandom\fP()، \fBsrandom\fP()، \fBinitstate\fP()، \fBsetstate\fP() T} سلامة الخيوط MT\-Safe .TE .SH المعايير POSIX.1\-2008. .SH التاريخ POSIX.1\-2001، 4.3BSD. .SH ملاحظات توليد الأعداد العشوائية موضوع معقد. يقدم كتاب \fINumerical Recipes in C: The Art of Scientific Computing\fP (وليام إتش. بريس، برايان بي. فلانري، سول إيه. تيوكولسكي، وليام تي. فيترلينغ؛ نيويورك: مطبعة جامعة كامبريدج، 2007، الطبعة الثالثة) نقاشاً ممتازاً للمسائل العملية لتوليد الأعداد العشوائية في الفصل 7 (الأعداد العشوائية). .P لنقاش نظري أكثر يغطي أيضاً العديد من المسائل العملية بعمق، انظر الفصل 3 (الأعداد العشوائية) في كتاب دونالد إي. كنوث \fIThe Art of Computer Programming\fP، المجلد 2 (الخوارزميات شبه العددية)، الطبعة الثانية؛ ريدينغ، ماساتشوستس: شركة أديسون\-ويسلي للنشر، 1981. .SH تحذيرات لا ينبغي استخدام الدالة \fBrandom\fP() في البرامج متعددة الخيوط حيث يُطلب سلوك قابل للتكرار. استخدم \fBrandom_r\fP(3) لهذا الغرض. .SH العلل .\" http://sourceware.org/bugzilla/show_bug.cgi?id=15380 وفقاً لـ POSIX، ينبغي لـ \fBinitstate\fP() إرجاع NULL عند الخطأ. في تطبيق glibc، يُضبط \fIerrno\fP (كما هو محدد) عند الخطأ، لكن الدالة لا ترجع NULL. .SH "انظر أيضًا" \fBgetrandom\fP(2)، \fBdrand48\fP(3)، \fBrand\fP(3)، \fBrandom_r\fP(3)، \fBsrand\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 .