اشیاء عدد مختلط¶
-
type PyComplexObject¶
این زیرنوع از
PyObjectنمایانگر یک شیء عدد مختلط پایتون است.-
Py_complex cval¶
مقدار عدد مختلط، با استفاده از نمایش
Py_complexدر C.منسوخ شده از نسخهی 3.15, در نسخهی 3.20 حذف خواهد شد: برای تبدیل یک عدد مختلط پایتون به/از نمایش C در
Py_complex، ازPyComplex_AsCComplex()وPyComplex_FromCComplex()استفاده کنید.
-
Py_complex cval¶
-
PyTypeObject PyComplex_Type¶
- قسمتی از ABI پایدار.
این نمونه از
PyTypeObjectنوع عدد مختلط پایتون را نشان میدهد. این همان شیءcomplexدر لایهی پایتون است.
-
int PyComplex_Check(PyObject *p)¶
اگر آرگومان آن یک
PyComplexObjectیا زیرنوعی ازPyComplexObjectباشد، مقدار درست را برمیگرداند. این تابع همیشه موفق میشود.
-
int PyComplex_CheckExact(PyObject *p)¶
در صورتی که آرگومان آن یک
PyComplexObjectباشد، اما زیرنوعی ازPyComplexObjectنباشد، مقدار true را برمیگرداند. این تابع همیشه موفق میشود.
-
PyObject *PyComplex_FromDoubles(double real, double imag)¶
- مقدار بازگشتی: مرجع جدید. قسمتی از ABI پایدار.
یک شیء جدید
PyComplexObjectاز real و imag برمیگرداند. در صورت خطا،NULLبه همراه یک استثنای تنظیمشده برمیگرداند.
-
double PyComplex_RealAsDouble(PyObject *op)¶
- قسمتی از ABI پایدار.
بخش حقیقی op را بهصورت یک double در C برمیگرداند.
اگر op یک شیء عدد مختلط پایتون نباشد اما متد
__complex__()را داشته باشد، این متد ابتدا برای تبدیل op به یک شیء عدد مختلط پایتون فراخوانی میشود. اگر__complex__()تعریف نشده باشد، به فراخوانیPyFloat_AsDouble()بازمیگردد و نتیجهی آن را برمیگرداند.در صورت شکست، این متد
-1.0را همراه با یک استثنای تنظیمشده برمیگرداند، بنابراین برای بررسی خطاها بایدPyErr_Occurred()را فراخوانی کنید.تغییر یافته در نسخهی 3.13: در صورت وجود، از
__complex__()استفاده کنید.
-
double PyComplex_ImagAsDouble(PyObject *op)¶
- قسمتی از ABI پایدار.
بخش موهومی op را بهصورت یک double در C برمیگرداند.
اگر op یک شیء عدد مختلط پایتون نباشد اما متد
__complex__()را داشته باشد، این متد ابتدا برای تبدیل op به یک شیء عدد مختلط پایتون فراخوانی میشود. اگر__complex__()تعریف نشده باشد، به فراخوانیPyFloat_AsDouble()روی میآورد و در صورت موفقیت مقدار0.0را برمیگرداند.در صورت شکست، این متد
-1.0را همراه با یک استثنای تنظیمشده برمیگرداند، بنابراین برای بررسی خطاها بایدPyErr_Occurred()را فراخوانی کنید.تغییر یافته در نسخهی 3.13: در صورت وجود، از
__complex__()استفاده کنید.
-
type Py_complex¶
این ساختار C یک قالب صادرات (export) برای یک شیء عدد مختلط پایتون تعریف میکند.
ساختار به صورت زیر تعریف میشود:
typedef struct { double real; double imag; } Py_complex;
-
PyObject *PyComplex_FromCComplex(Py_complex v)¶
- مقدار بازگشتی: مرجع جدید.
یک شیء عدد مختلط جدید پایتون را از یک مقدار
Py_complexدر C ایجاد میکند. در صورت خطا،NULLبه همراه یک استثنای تنظیمشده برگردانده میشود.
-
Py_complex PyComplex_AsCComplex(PyObject *op)¶
مقدار
Py_complexعدد مختلط op را برمیگرداند.اگر op یک شیء عدد مختلط پایتون نباشد اما متد
__complex__()را داشته باشد، این متد ابتدا فراخوانی میشود تا op را به یک شیء عدد مختلط پایتون تبدیل کند. اگر__complex__()تعریفنشده باشد، به جای آن از__float__()استفاده میشود. اگر__float__()تعریفنشده باشد، به جای آن از__index__()استفاده میشود.در صورت شکست، این متد یک
Py_complexبرمیگرداند کهrealآن روی-1.0تنظیم شده و یک استثنا نیز تنظیم شده است؛ بنابراین برای بررسی خطاها بایدPyErr_Occurred()را فراخوانی کرد.تغییر یافته در نسخهی 3.8: در صورت وجود، از
__index__()استفاده کنید.
اعداد مختلط بهعنوان ساختارهای C¶
این رابط برنامهنویسی (API) همچنین توابعی را برای کار با اعداد مختلط، با استفاده از نمایش Py_complex فراهم میکند. توجه داشته باشید توابعی که این ساختارها را به عنوان پارامتر میپذیرند و آنها را به عنوان نتیجه برمیگردانند، این کار را به صورت مقداری (by value) انجام میدهند و نه با رفع ارجاع آنها از طریق اشارهگرها.
لطفاً توجه داشته باشید که این توابع از نسخهی 3.15 پایتون مشمول هشدار منسوخشدگی هستند. از استفاده از این API در کدهای جدید برای انجام محاسبات مختلط خودداری کنید: یا از API پروتکل اعداد استفاده کنید یا از انواع مختلط بومی مانند double complex بهره ببرید.
-
Py_complex _Py_c_sum(Py_complex left, Py_complex right)¶
مجموع دو عدد مختلط را با استفاده از نمایش C
Py_complexبرمیگرداند.منسوخ شده از نسخهی 3.15.
-
Py_complex _Py_c_diff(Py_complex left, Py_complex right)¶
تفاضل دو عدد مختلط را با استفاده از نمایش C
Py_complexبرمیگرداند.منسوخ شده از نسخهی 3.15.
-
Py_complex _Py_c_neg(Py_complex num)¶
نقیض عدد مختلط num را با استفاده از نمایش C
Py_complexبرمیگرداند.منسوخ شده از نسخهی 3.15.
-
Py_complex _Py_c_prod(Py_complex left, Py_complex right)¶
حاصلضرب دو عدد مختلط را با استفاده از نمایش
Py_complexدر C برمیگرداند.منسوخ شده از نسخهی 3.15.
-
Py_complex _Py_c_quot(Py_complex dividend, Py_complex divisor)¶
خارج قسمت دو عدد مختلط را با استفاده از نمایش
Py_complexدر C برمیگرداند.اگر divisor تهی باشد، این متد صفر را برمیگرداند و
errnoرا برابرEDOMقرار میدهد.منسوخ شده از نسخهی 3.15.
-
Py_complex _Py_c_pow(Py_complex num, Py_complex exp)¶
توان num به exp را با استفاده از نمایش C
Py_complexبرمیگرداند.اگر num صفر باشد و exp عدد حقیقی مثبت نباشد، این متد صفر را برمیگرداند و مقدار
errnoرا برابرEDOMقرار میدهد.در صورت سرریز،
errnoرا برابرERANGEقرار میدهد.منسوخ شده از نسخهی 3.15.
-
double _Py_c_abs(Py_complex num)¶
مقدار مطلق عدد مختلط num را برمیگرداند.
در صورت سرریز،
errnoرا برابرERANGEقرار میدهد.منسوخ شده از نسخهی 3.15.