QkObsTerm
불투명(Rust-space) SparseTerm 인스턴스와 상호 작용하기 위한 함수 그룹입니다.
데이터 유형
QkObsTerm
struct QkObsTerm
QkObs.
여기에는 계수(coeff), 관측 가능한 큐비트 수(num_qubits), 길이가 len 인 bit_terms 및 indices 배열에 대한 포인터가 포함됩니다. 데이터의 일관성을 유지하는 것은 사용자의 책임입니다(아래 안전 관련 섹션도 참조하세요).
안전
bit_terms는QkBitTerm유형의len요소에 대한 널이 아닌 정렬된 포인터여야 합니다.indices는uint32_t유형의len요소에 대한 널이 아닌 정렬된 포인터여야 합니다.
QkComplex64 계수
관측 가능한 용어의 계수입니다.
size_t len
bit_terms 및 indices 배열의 길이입니다.
QkBitTerm *비트 용어
유형 의 요소들을 len 가리키는 QkBitTerm 정렬된 포인터. 이는 가 0일 len 때만 NULL 성립한다.
uint32_t *지수
유형 의 요소들을 len 가리키는 uint32_t 정렬된 포인터. 이는 가 0일 len 때만 NULL 성립한다.
uint32_t num_qubits
관측 가능한 용어가 정의된 큐비트 수입니다.
함수
qk_obsterm_str
char *qk_obsterm_str(const QkObsTerm *term)
희소 용어의 문자열 표현을 반환합니다.
예
QkObs *obs = qk_obs_identity(100);
QkObsTerm term;
qk_obs_term(obs, 0, &term);
char *string = qk_obsterm_str(&term);
qk_str_free(string);
qk_obs_free(obs);안전
동작이 정의되지 않았습니다 term 은 QkObsTerm 에 대한 유효한 널이 아닌 포인터가 아닙니다.
문자열은 일반적인 C 해제로는 해제할 수 없으며 qk_str_free 을 사용하여 문자열이 사용하는 메모리를 해제해야 합니다. qk_str_free 을 호출하지 않으면 메모리 누수가 발생할 수 있습니다.
값을 변경할 수는 있지만 반환된 후에는 문자열의 길이를 변경하지 마세요.
매개변수
- 용어 - 용어에 대한 포인터입니다.
리턴
다음의 문자열 표현을 담은, 널 종결된 char 배열을 가리키는 포인터: term