Objetos de Números Complexos¶
Os objetos de números complexos do Python são implementados como dois tipos distintos quando visualizados na API C: um é o objeto Python exposto aos programas Python e o outro é uma estrutura C que representa o valor real do número complexo. A API fornece funções para trabalhar com ambos.
Números complexos como estruturas C.¶
Observe que as funções que aceitam essas estruturas como parâmetros e as retornam como resultados o fazem por valor em vez de desreferenciá-las por meio de ponteiros. Isso é consistente em toda a API.
-
Py_complex¶ A estrutura C que corresponde à parte do valor de um objeto de número complexo Python. A maioria das funções para lidar com objetos de números complexos usa estruturas desse tipo como valores de entrada ou saída, conforme apropriado. É definido como:
typedef struct { double real; double imag; } Py_complex;
-
Py_complex
_Py_c_sum(Py_complex left, Py_complex right)¶ Retorna a soma de dois números complexos, utilizando a representação C :c:tipo:`Py_complex`
-
Py_complex
_Py_c_diff(Py_complex left, Py_complex right)¶ Retorna a diferença entre dois números complexos, utilizando a representação C :c:tipo:`Py_complex`
-
Py_complex
_Py_c_neg(Py_complex complex)¶ Retorna a negação do número complexo complex, utilizando a representação C :c:tipo:`Py_complex`
-
Py_complex
_Py_c_prod(Py_complex left, Py_complex right)¶ Retorna o produto de dois números complexos, utilizando a representação C :c:tipo:`Py_complex`
-
Py_complex
_Py_c_quot(Py_complex dividend, Py_complex divisor)¶ Retorna o quociente de dois números complexos, utilizando a representação C :c:tipo:`Py_complex`
Se divisor é nulo, este método retorna zero e define
errnoparaEDOM.
-
Py_complex
_Py_c_pow(Py_complex num, Py_complex exp)¶ Retorna a exponenciação de num por exp, utilizando a representação C :c:tipo:`Py_complex`
Se num for nulo e exp não for um número real positivo, este método retorna zero e define
errnoparaEDOM.
Números complexos como objetos Python¶
-
PyComplexObject¶ Este subtipo de :c:tipo:`PyObject` representa um objeto Python de número complexo
-
PyTypeObject
PyComplex_Type¶ Esta instância de
PyTypeObjectrepresenta o tipo de número complexo Python. É o mesmo objeto quecomplexna camada Python.
-
int
PyComplex_Check(PyObject *p)¶ Retorna se seu argumento é um
PyComplexObjectou um subtipo dePyComplexObject.
-
int
PyComplex_CheckExact(PyObject *p)¶ Retorna se seu argumento é um
PyComplexObject, mas não um subtipo dePyComplexObject.
-
PyObject*
PyComplex_FromCComplex(Py_complex v)¶ - Return value: New reference.
Cria um novo objeto de número complexo Python a partir de um valor C
Py_complex.
-
PyObject*
PyComplex_FromDoubles(double real, double imag)¶ - Return value: New reference.
Retorna um novo objeto
PyComplexObjectde real e imag.
-
Py_complex
PyComplex_AsCComplex(PyObject *op)¶ Retorna o valor
Py_complexdo número complexo op.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. Upon failure, this method returns-1.0as a real value.
