Skip to main content
IBM Quantum Platform

QkComplex64

복잡한 이중 정밀도 숫자 표현. 이 데이터 유형은 키스킷 내에서 복소수를 안전하게 사용하기 위해 사용되지만, 사용자 측에서 쉽게 조작할 수 있도록 설계된 것은 아닙니다. 대신 컴파일러 네이티브 표현에서 변환하는 함수를 제공합니다(예 complex double )를 인체공학적으로 처리할 수 있는 키스킷의 QkComplex64 표현으로, 키스킷 함수와 구조체로 전달하기 위한 것입니다.

명시적으로, 키스킷은 C의 컴파일러 네이티브 복소수 타입을 Windows MSVC의 경우 _Dcomplex ( _MSC_VER 정의된 경우), 그렇지 않은 경우 double _Complex 로 가정합니다. C++( __cplusplus 이 정의된 경우)에서 복소수 유형은 항상 std::complex<double> 입니다.


데이터 유형

QkComplex64

struct QkComplex64

복잡한 이중.

이 구조체를 컴파일러 네이티브 복소수 표현으로 변환하려면 qk_complex64_to_nativeqk_complex64_from_native 을 참조하세요.

더블 리

진짜 부분.

더블 아이엠

상상 부분.


함수

qk_complex64_to_native

static CMPLX_DOUBLE qk_complex64_to_native(QkComplex64 *value)

QkComplex64 을 컴파일러 기본 복소수 표현으로 변환합니다. CMPLX_DOUBLE 은 컴파일러 기본 복소수 유형의 플레이스홀더이며, 자세한 내용은 페이지 상단을 참조하세요.

complex double 을 기본 복소수로 사용하는 GNU/clang 컴파일러를 가정하면 다음과 같습니다

QkComplex64 qk_value = {1, 1}; // represents 1 + i
complex double value = qk_complex64_to_native(&qk_value);

안전

valueQkComplex64 에 대한 유효한 널이 아닌 포인터가 아닌 경우 동작이 정의되지 않습니다.

매개변수

- 변환할 QkComplex64 포인터입니다.

리턴

복소수의 기본 표현입니다.

qk_complex64_from_native

static QkComplex64 qk_complex64_from_native(CMPLX_DOUBLE *value)

컴파일러 기본 복소수를 QkComplex64 로 변환합니다. CMPLX_DOUBLE 은 컴파일러 기본 복소수 유형의 플레이스홀더이며, 자세한 내용은 페이지 상단을 참조하세요.

complex double 을 기본 복소수로 사용하는 GNU/clang 컴파일러를 가정하면 다음과 같습니다

complex double value = 1 + I;
QkComplex64 qk_value = qk_complex64_from_native(&value);

안전

valueQkComplex64 에 대한 유효한 널이 아닌 포인터가 아닌 경우 동작이 정의되지 않습니다.

매개변수

- 네이티브 복소수에 대한 포인터입니다.

리턴

복소수의 QkComplex64 표현입니다.

이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.