QkComplex64
複素数の倍精度数値表現。 このデータ型はQiskit内で複素数を安全に使用するために使用されますが、必ずしもユーザー側で簡単に操作できるように設計されているわけではありません。 その代わりに、コンパイラー・ネイティブ表現(たとえば complex double GNUまたはClangコンパイラ用)、人間工学的な取り扱いを可能にし、Qiskitの QkComplex64 表現は、Qiskitの関数や構造体に渡すためのものです。
明示的に、QiskitはCのコンパイラネイティブ複素数型をWindows MSVCでは _Dcomplex ( _MSC_VER が定義されている場合)、そうでない場合は double _Complex 。 C++では( __cplusplus が定義されている場合)、複素数型は常に std::complex<double> となる。
データ・タイプ
QkComplex64
struct QkComplex64
複雑なダブル。
この構造体をコンパイラ固有の複素数表現に(または複素数表現から)変換するには、 qk_complex64_to_native および qk_complex64_from_native も参照してください。
ダブルリ
実体部分。
ダブル・アイム
虚数部。
関数
qk_complex64_to_native
static CMPLX_DOUBLE qk_complex64_to_native(QkComplex64 *value)
QkComplex64 をコンパイラ独自の複素数表現に変換する。 なお、 CMPLX_DOUBLE はコンパイラー・ネイティブの複素数型のプレースホルダーである。
例
GNU/clangコンパイラで complex double をネイティブ複素数と仮定すると、次のようになる
QkComplex64 qk_value = {1, 1}; // represents 1 + i
complex double value = qk_complex64_to_native(&qk_value);安全
value が QkComplex64 への有効な非 null ポインタでない場合、動作は未定義となる。
パラメーター
value - 変換する QkComplex64 へのポインタ。
戻り値
複素数のネイティブ表現。
qk_complex64_from_native
static QkComplex64 qk_complex64_from_native(CMPLX_DOUBLE *value)
コンパイラネイティブな複素数を QkComplex64 に変換する。 なお、 CMPLX_DOUBLE はコンパイラー・ネイティブの複素数型のプレースホルダーである。
例
GNU/clangコンパイラで complex double をネイティブ複素数と仮定すると、次のようになる
complex double value = 1 + I;
QkComplex64 qk_value = qk_complex64_from_native(&value);安全
value が QkComplex64 への有効な非 null ポインタでない場合、動作は未定義となる。
パラメーター
value - ネイティブ複素数へのポインタ.
戻り値
QkComplex64 複素数の表現。