QkComplex64
복잡한 이중 정밀도 숫자 표현. 이 데이터 유형은 키스킷 내에서 복소수를 안전하게 사용하기 위해 사용되지만, 사용자 측에서 쉽게 조작할 수 있도록 설계된 것은 아닙니다. 대신 컴파일러 네이티브 표현에서 변환하는 함수를 제공합니다(예 complex double )를 인체공학적으로 처리할 수 있는 키스킷의 QkComplex64 표현으로, 키스킷 함수와 구조체로 전달하기 위한 것입니다.
명시적으로, 키스킷은 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 은 컴파일러 기본 복소수 유형의 플레이스홀더이며, 자세한 내용은 페이지 상단을 참조하세요.
예
complex double 을 기본 복소수로 사용하는 GNU/clang 컴파일러를 가정하면 다음과 같습니다
QkComplex64 qk_value = {1, 1}; // represents 1 + i
complex double value = qk_complex64_to_native(&qk_value);안전
value 이 QkComplex64 에 대한 유효한 널이 아닌 포인터가 아닌 경우 동작이 정의되지 않습니다.
매개변수
값 - 변환할 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);안전
value 이 QkComplex64 에 대한 유효한 널이 아닌 포인터가 아닌 경우 동작이 정의되지 않습니다.
매개변수
값 - 네이티브 복소수에 대한 포인터입니다.
리턴
복소수의 QkComplex64 표현입니다.