QkComplex64
Una representación numérica compleja de doble precisión. Este tipo de datos se utiliza para utilizar de forma segura números complejos dentro de Qiskit, pero no está necesariamente diseñado para una fácil manipulación en el lado del usuario. En su lugar, proporcionamos funciones para convertir desde la representación nativa del compilador (p. ej. complex double para compiladores GNU o Clang), que permiten un manejo ergonómico, a la representación QkComplex64 de Qiskit, que está pensada para pasar a funciones y structs de Qiskit.
Explícitamente, Qiskit asume que el tipo de número complejo nativo del compilador en C es _Dcomplex para Windows MSVC (si _MSC_VER está definido) y double _Complex en caso contrario. En C++ (si __cplusplus está definido), el tipo de número complejo es siempre std::complex<double>.
Tipos de datos
QkComplex64
struct QkComplex64
Un doble complejo.
Véase también qk_complex64_to_native y qk_complex64_from_native para convertir esta estructura a (o desde) una representación de números complejos nativa del compilador.
doble re
La parte real.
doble im
La parte imaginaria.
Funciones
qk_complex64_to_native
static CMPLX_DOUBLE qk_complex64_to_native(QkComplex64 *value)
Convierte un QkComplex64 a una representación de números complejos nativa del compilador. Tenga en cuenta que CMPLX_DOUBLE es un marcador de posición para el tipo de número complejo nativo del compilador, consulte la parte superior de la página para obtener más detalles.
Ejemplo
Suponiendo un compilador GNU/clang con complex double como número complejo nativo, tenemos
QkComplex64 qk_value = {1, 1}; // represents 1 + i
complex double value = qk_complex64_to_native(&qk_value);Seguridad
El comportamiento es indefinido si value no es un puntero válido y no nulo a QkComplex64.
Parámetros
value - Puntero a la dirección QkComplex64 que se va a convertir.
Devuelve
Una representación nativa del número complejo.
qk_complex64_from_native
static QkComplex64 qk_complex64_from_native(CMPLX_DOUBLE *value)
Convierte un número complejo nativo del compilador en un QkComplex64. Tenga en cuenta que CMPLX_DOUBLE es un marcador de posición para el tipo de número complejo nativo del compilador, consulte la parte superior de la página para obtener más detalles.
Ejemplo
Suponiendo un compilador GNU/clang con complex double como número complejo nativo, tenemos
complex double value = 1 + I;
QkComplex64 qk_value = qk_complex64_from_native(&value);Seguridad
El comportamiento es indefinido si value no es un puntero válido y no nulo a QkComplex64.
Parámetros
value - Un puntero al número complejo nativo.
Devuelve
Una representación QkComplex64 del número complejo.