QkComplex64
Représentation d'un nombre complexe en double précision. Ce type de données est utilisé pour utiliser en toute sécurité des nombres complexes dans Qiskit, mais n'est pas nécessairement conçu pour une manipulation facile du côté de l'utilisateur. Au lieu de cela, nous fournissons des fonctions pour convertir la représentation native du compilateur (par ex. complex double pour les compilateurs GNU ou Clang), qui permettent une manipulation ergonomique, à la représentation QkComplex64 de Qiskit, qui est destinée au passage dans les fonctions et les structures Qiskit.
Explicitement, Qiskit suppose que le type de nombre complexe natif du compilateur en C est _Dcomplex pour Windows MSVC (si _MSC_VER est défini) et double _Complex sinon. En C++ (si __cplusplus est défini), le type de nombre complexe est toujours std::complex<double>.
Types de données
QkComplex64
struct QkComplex64
Un double complexe.
Voir également qk_complex64_to_native et qk_complex64_from_native pour convertir cette structure en (ou à partir de) une représentation de nombres complexes propre au compilateur.
double re
La partie réelle.
double im
La partie imaginaire.
Fonctions
qk_complex64_to_native
static CMPLX_DOUBLE qk_complex64_to_native(QkComplex64 *value)
Convertit une adresse QkComplex64 en une représentation de nombres complexes native pour le compilateur. Notez que CMPLX_DOUBLE est un espace réservé pour le type de nombre complexe natif du compilateur, voir le haut de la page pour plus de détails.
Exemple
En supposant un compilateur GNU/clang avec complex double comme nombre complexe natif, nous avons
QkComplex64 qk_value = {1, 1}; // represents 1 + i
complex double value = qk_complex64_to_native(&qk_value);Sécurité
Le comportement est indéfini si value n'est pas un pointeur valide et non nul vers QkComplex64.
Paramètres
value - Un pointeur sur le site QkComplex64 à convertir.
Retours
Une représentation native du nombre complexe.
qk_complex64_from_native
static QkComplex64 qk_complex64_from_native(CMPLX_DOUBLE *value)
Convertir un nombre complexe natif du compilateur en QkComplex64. Notez que CMPLX_DOUBLE est un espace réservé pour le type de nombre complexe natif du compilateur, voir le haut de la page pour plus de détails.
Exemple
En supposant un compilateur GNU/clang avec complex double comme nombre complexe natif, nous avons
complex double value = 1 + I;
QkComplex64 qk_value = qk_complex64_from_native(&value);Sécurité
Le comportement est indéfini si value n'est pas un pointeur valide et non nul vers QkComplex64.
Paramètres
value - Un pointeur sur le nombre complexe natif.
Retours
Une représentation QkComplex64 du nombre complexe.