QkComplex64
Rappresentazione di un numero complesso a doppia precisione. Questo tipo di dati è utilizzato per utilizzare in modo sicuro i numeri complessi all'interno di Qiskit, ma non è necessariamente progettato per una facile manipolazione sul lato utente. Invece, forniamo funzioni per convertire la rappresentazione nativa del compilatore (ad es. complex double per i compilatori GNU o Clang), che consentono una gestione ergonomica, alla rappresentazione QkComplex64 di Qiskit, destinata al passaggio nelle funzioni e nelle strutture di Qiskit.
Esplicitamente, Qiskit assume che il tipo di numero complesso nativo del compilatore in C sia _Dcomplex per Windows MSVC (se _MSC_VER è definito) e double _Complex altrimenti. In C++ (se __cplusplus è definito), il tipo di numero complesso è sempre std::complex<double>.
Tipi di dati
QkComplex64
struct QkComplex64
Un doppio complesso.
Vedere anche qk_complex64_to_native e qk_complex64_from_native per convertire questa struttura in (o da) una rappresentazione di numeri complessi nativa del compilatore.
doppio re
La parte reale.
doppio im
La parte immaginaria.
Funzioni
qk_complex64_to_native
static CMPLX_DOUBLE qk_complex64_to_native(QkComplex64 *value)
Converte un QkComplex64 in una rappresentazione di numeri complessi nativa del compilatore. Si noti che CMPLX_DOUBLE è un segnaposto per il tipo di numero complesso nativo del compilatore; si veda l'inizio della pagina per maggiori dettagli.
Esempio
Assumendo un compilatore GNU/clang con complex double come numero complesso nativo, abbiamo
QkComplex64 qk_value = {1, 1}; // represents 1 + i
complex double value = qk_complex64_to_native(&qk_value);Sicurezza
Il comportamento è indefinito se value non è un puntatore valido e non nullo a un QkComplex64.
Parametri
valore - Un puntatore a QkComplex64 da convertire.
Risultati
Una rappresentazione nativa del numero complesso.
qk_complex64_from_native
static QkComplex64 qk_complex64_from_native(CMPLX_DOUBLE *value)
Converte un numero complesso nativo del compilatore in un QkComplex64. Si noti che CMPLX_DOUBLE è un segnaposto per il tipo di numero complesso nativo del compilatore; si veda l'inizio della pagina per maggiori dettagli.
Esempio
Assumendo un compilatore GNU/clang con complex double come numero complesso nativo, abbiamo
complex double value = 1 + I;
QkComplex64 qk_value = qk_complex64_from_native(&value);Sicurezza
Il comportamento è indefinito se value non è un puntatore valido e non nullo a un QkComplex64.
Parametri
valore - Un puntatore al numero complesso nativo.
Risultati
Una rappresentazione QkComplex64 del numero complesso.