複素数オブジェクト¶
-
type PyComplexObject¶
この
PyObject
のサブタイプは Python の複素数型を表現します。-
Py_complex cval¶
The complex number value, using the C
Py_complex
representation.Deprecated since version 3.15.0a0 (unreleased), will be removed in version 3.20: Use
PyComplex_AsCComplex()
andPyComplex_FromCComplex()
to convert a Python complex number to/from the CPy_complex
representation.
-
Py_complex cval¶
-
PyTypeObject PyComplex_Type¶
- 次に属します: Stable ABI.
この
PyTypeObject
のインスタンスは Python の複素数型を表現します。 Pythonレイヤのcomplex
と同じオブジェクトです。
-
int PyComplex_Check(PyObject *p)¶
引数が
PyComplexObject
かPyComplexObject
のサブタイプであるときに真を返します。この関数は常に成功します。
-
int PyComplex_CheckExact(PyObject *p)¶
引数が
PyComplexObject
であるがPyComplexObject
のサブタイプでないときに真を返します。この関数は常に成功します。
-
PyObject *PyComplex_FromDoubles(double real, double imag)¶
- 戻り値: 新しい参照。 次に属します: Stable ABI.
Return a new
PyComplexObject
object from real and imag. ReturnNULL
with an exception set on error.
-
double PyComplex_RealAsDouble(PyObject *op)¶
- 次に属します: Stable ABI.
op の実数部分を C の double 型で返します。
If op is not a Python complex number object but has a
__complex__()
method, this method will first be called to convert op to a Python complex number object. If__complex__()
is not defined then it falls back to callPyFloat_AsDouble()
and returns its result.Upon failure, this method returns
-1.0
with an exception set, so one should callPyErr_Occurred()
to check for errors.バージョン 3.13 で変更: Use
__complex__()
if available.
-
double PyComplex_ImagAsDouble(PyObject *op)¶
- 次に属します: Stable ABI.
op の虚数部分を C の double 型で返します。
If op is not a Python complex number object but has a
__complex__()
method, this method will first be called to convert op to a Python complex number object. If__complex__()
is not defined then it falls back to callPyFloat_AsDouble()
and returns0.0
on success.Upon failure, this method returns
-1.0
with an exception set, so one should callPyErr_Occurred()
to check for errors.バージョン 3.13 で変更: Use
__complex__()
if available.
-
type Py_complex¶
This C structure defines export format for a Python complex number object.
The structure is defined as:
typedef struct { double real; double imag; } Py_complex;
-
PyObject *PyComplex_FromCComplex(Py_complex v)¶
- 戻り値: 新しい参照。
Create a new Python complex number object from a C
Py_complex
value. ReturnNULL
with an exception set on error.
-
Py_complex PyComplex_AsCComplex(PyObject *op)¶
複素数値 op から
Py_complex
型を生成します。If op is not a Python complex number object but has a
__complex__()
method, this method will first be called to convert op to a Python complex number object. If__complex__()
is not defined then it falls back to__float__()
. If__float__()
is not defined then it falls back to__index__()
.Upon failure, this method returns
Py_complex
withreal
set to-1.0
and with an exception set, so one should callPyErr_Occurred()
to check for errors.バージョン 3.8 で変更: 可能であれば
__index__()
を使うようになりました。
C 構造体としての複素数¶
The API also provides functions for working with complex numbers, using the
Py_complex
representation. Note that the functions which accept
these structures as parameters and return them as results do so by value
rather than dereferencing them through pointers.
Please note, that these functions are soft deprecated since Python 3.15. Avoid using this API in a new code to do complex arithmetic: either use the Number Protocol API or use native complex types, like 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)¶
二つの複素数の積を C の
Py_complex
型で返します。バージョン 3.15 で非推奨.
-
Py_complex _Py_c_quot(Py_complex dividend, Py_complex divisor)¶
二つの複素数の商を C の
Py_complex
型で返します。divisor が null の場合は、このメソッドはゼロを返し、
errno
にEDOM
をセットします。バージョン 3.15 で非推奨.
-
Py_complex _Py_c_pow(Py_complex num, Py_complex exp)¶
指数 exp の num 乗を C の
Py_complex
型で返します。num が null で exp が正の実数でない場合は、このメソッドはゼロを返し、
errno
にEDOM
をセットします。Set
errno
toERANGE
on overflows.バージョン 3.15 で非推奨.
-
double _Py_c_abs(Py_complex num)¶
Return the absolute value of the complex number num.
Set
errno
toERANGE
on overflows.バージョン 3.15 で非推奨.