Skip to main content
IBM Quantum Platform

QkParam

실수형 또는 기호형 값을 가질 수 있는 회로 매개변수를 나타냅니다.

Parameter현재 회로 QkParam 내의 기능성은 제한적이지만, 사용자는 에서 제공되는 것과 유사한 작업을 수행할 수 있습니다.


함수

qk_param_new_symbol

QkParam *qk_param_new_symbol(const char *name)

바인딩되지 않은 기호를 나타내는 새로운 QkParam 객체를 생성합니다.

QkParam *a = qk_param_new_symbol("a");

안전

name 매개변수는 문자열 끝에 유효한 널 종결자가 포함된 메모리를 가리키는 포인터여야 합니다. 또한 이 값은 널 종결자를 포함하여 그 이전의 모든 바이트를 읽을 때도 유효해야 합니다.

매개변수

  • 이름 – 심볼의 이름. 이 필드는 비워둘 수 없습니다.

리턴

QkParam생성된 파일에 대한 포인터.

qk_param_zero

QkParam *qk_param_zero(void)

값이 0인 새로운 QkParam 객체를 생성합니다.

이 함수가 반환하는 값은 QkParam 이항 연산이나 단항 연산의 결과를 저장하는 데 사용할 수 있습니다.

QkParam *t = qk_param_zero();
QkParam *a = qk_param_new_symbol("a");
QkParam *b = qk_param_new_symbol("b");
qk_param_add(t, a, b);

리턴

QkParam생성된 파일에 대한 포인터.

qk_param_free

void qk_param_free(QkParam *param)

QkParam.을 풀어주세요.

QkParam *a = qk_param_new_symbol("a");
qk_param_free(a);

안전

QkParam가 null이 아니거나 유효한 포인터가 아닌 경우 param , 동작은 정의되지 않습니다.

매개변수

  • param – 해제할 메모리에 QkParam 대한 포인터.

qk_param_from_double

QkParam *qk_param_from_double(double value)

double에서 새로운 QkParam 를 생성합니다.

QkParam *r = qk_param_from_double(2.5);

매개변수

  • QkParam – A를 double 사용하여.를 초기화합니다.

리턴

QkParam생성된 파일에 대한 포인터.

qk_param_from_complex

QkParam *qk_param_from_complex(QkComplex64 value)

QkComplex64복소수 로 주어진 를 사용하여 새로운 QkParam 를 구성하라.

QkComplex64 c = {1.0, 2.0};  // 1 + 2i
QkParam *param = qk_param_from_complex(c);

매개변수

  • QkParam – A를 QkComplex64 사용하여.를 초기화합니다.

리턴

QkParam생성된 파일에 대한 포인터.

qk_param_copy

QkParam *qk_param_copy(const QkParam *param)

QkParam.을 복사하세요.

QkParam *a = qk_param_new_symbol("a");
QkParam *b = qk_param_copy(a);

안전

QkParam가 null이 아닌 객체를 가리키는 유효한 포인터가 아닌 경우 param , 동작은 정의되지 않습니다.

매개변수

  • param – 복사할 대상 QkParam .

리턴

QkParam생성된 파일에 대한 포인터.

qk_param_str

char *qk_param_str(const QkParam *param)

QkParam의 문자열 표현을 가져옵니다.

QkParam *a = qk_param_new_symbol("a");
char* str = qk_param_str(a);
printf(str);
qk_str_free(str);
qk_param_free(a);

안전

QkParam가 null이 아닌 객체를 가리키는 유효한 포인터가 아닌 경우 param , 동작은 정의되지 않습니다.

이 문자열은 일반적인 C 언어의 free 함수를 사용하여 해제해서는 안 되며, String이 차지하는 메모리를 해제하려면 반드시 를 사용해야 qk_str_free 합니다. 이 함수를 호출하지 qk_str_free 않으면 메모리 누수가 발생합니다.

반환된 문자열의 길이는 변경하지 마십시오(문자열 내부에 널 바이트를 삽입하거나 마지막 바이트를 제거하는 등의 방식으로). 단, 값 자체는 수정할 수 있습니다.

매개변수

  • QkParamparam –.에 대한 포인터

리턴

param의 문자열 표현을 담은 널 종료 char 배열에 대한 포인터.

qk_param_add

QkExitCode qk_param_add(QkParam *out, const QkParam *lhs, const QkParam *rhs)

QkParam2를 더하세요.

QkParam *a = qk_param_new_symbol("a");
QkParam *b = qk_param_new_symbol("b");
QkParam *out = qk_param_zero();
qk_param_add(out, a, b);

안전

QkParam``out, lhs 또는 rhs 중 어느 하나라도 에 대한 유효하고 null이 아닌 포인터가 아닌 경우, 동작은 정의되지 않습니다.

매개변수

  • lhs + rhs``QkParam** out** – 의 결과를 저장할 포인터.
  • QkParamlhs – 왼쪽 항을 가리키는 포인터.
  • QkParamrhs – 우변을 가리키는 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_sub

QkExitCode qk_param_sub(QkParam *out, const QkParam *lhs, const QkParam *rhs)

QkParam2를 빼세요.

QkParam *a = qk_param_new_symbol("a");
QkParam *b = qk_param_new_symbol("b");
QkParam *out = qk_param_zero();
qk_param_sub(out, a, b);

안전

QkParam``out, lhs 또는 rhs 중 어느 하나라도 에 대한 유효하고 null이 아닌 포인터가 아닌 경우, 동작은 정의되지 않습니다.

매개변수

  • lhs - rhs``QkParam** out** – 의 결과를 저장할 포인터.
  • QkParamlhs – 왼쪽 항을 가리키는 포인터.
  • QkParamrhs – 우변을 가리키는 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_mul

QkExitCode qk_param_mul(QkParam *out, const QkParam *lhs, const QkParam *rhs)

QkParam2를 곱하세요.

QkParam *a = qk_param_new_symbol("a");
QkParam *b = qk_param_new_symbol("b");
QkParam *out = qk_param_zero();
qk_param_mul(out, a, b);

안전

QkParam``out, lhs 또는 rhs 중 어느 하나라도 에 대한 유효하고 null이 아닌 포인터가 아닌 경우, 동작은 정의되지 않습니다.

매개변수

  • lhs * rhs``QkParam** out** – 의 결과를 저장할 포인터.
  • QkParamlhs – 왼쪽 항을 가리키는 포인터.
  • QkParamrhs – 우변을 가리키는 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_div

QkExitCode qk_param_div(QkParam *out, const QkParam *num, const QkParam *den)

a를 QkParam b로 나누세요.

QkParam *a = qk_param_new_symbol("a");
QkParam *b = qk_param_new_symbol("b");
QkParam *out = qk_param_zero();
qk_param_div(out, a, b);

안전

QkParam``out, num 또는 den 중 어느 하나라도 에 대한 유효하고 null이 아닌 포인터가 아닌 경우, 동작은 정의되지 않습니다.

매개변수

  • lhs / rhs``QkParam** out** – 의 결과를 저장할 포인터.
  • QkParamnum – 분자의 포인터.
  • QkParamden – 분모를 가리키는 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_pow

QkExitCode qk_param_pow(QkParam *out, const QkParam *base, const QkParam *pow)

a를 QkParam b제곱으로 곱한다.

QkParam *base = qk_param_new_symbol("a");
QkParam *pow = qk_param_new_symbol("b");
QkParam *out = qk_param_zero();
qk_param_pow(out, base, pow);

안전

QkParam``out, base 또는 pow 중 어느 하나라도 에 대한 유효하고 null이 아닌 포인터가 아닌 경우, 동작은 정의되지 않습니다.

매개변수

  • lhs ** rhs``QkParam** out** – 의 결과를 저장할 포인터.
  • QkParambase – 왼쪽 쪽을 가리키는 포인터.
  • QkParampow – 우변을 가리키는 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_sin

QkExitCode qk_param_sin(QkParam *out, const QkParam *src)

QkParam의 사인을 구하십시오.

QkParam *a = qk_param_new_symbol("a");
QkParam *out = qk_param_zero();
qk_param_sin(out, a);

안전

QkParam또는 srcout 하나가 유효한, null이 아닌 포인터가 아닌 경우, 해당 동작은 정의되지 않습니다.

매개변수

  • sin(src)out – 결과를 QkParam 저장할 포인터.
  • src – 사인 함수를 적용할 대상에 QkParam 대한 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_cos

QkExitCode qk_param_cos(QkParam *out, const QkParam *src)

QkParam의 코사인을 구하십시오.

QkParam *a = qk_param_new_symbol("a");
QkParam *out = qk_param_zero();
qk_param_cos(out, a);

안전

QkParam또는 srcout 하나가 유효한, null이 아닌 포인터가 아닌 경우, 해당 동작은 정의되지 않습니다.

매개변수

  • cos(src)out – 결과를 QkParam 저장할 포인터.
  • src – 코사인 함수를 적용할 대상에 QkParam 대한 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_tan

QkExitCode qk_param_tan(QkParam *out, const QkParam *src)

QkParam의 탄젠트를 구하십시오.

QkParam *a = qk_param_new_symbol("a");
QkParam *out = qk_param_zero();
qk_param_tan(out, a);

안전

QkParam또는 srcout 하나가 유효한, null이 아닌 포인터가 아닌 경우, 해당 동작은 정의되지 않습니다.

매개변수

  • tan(src)out – 결과를 QkParam 저장할 포인터.
  • src – 접선을 적용할 대상에 QkParam 대한 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_asin

QkExitCode qk_param_asin(QkParam *out, const QkParam *src)

QkParam의 아크사인을 구하십시오.

QkParam *a = qk_param_new_symbol("a");
QkParam *out = qk_param_zero();
qk_param_asin(out, a);

안전

QkParam또는 srcout 하나가 유효한, null이 아닌 포인터가 아닌 경우, 해당 동작은 정의되지 않습니다.

매개변수

  • asin(src)out – 결과를 QkParam 저장할 포인터.
  • src – 아크사인 함수를 적용할 대상에 QkParam 대한 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_acos

QkExitCode qk_param_acos(QkParam *out, const QkParam *src)

QkParam의 아크코사인을 구하십시오.

QkParam *a = qk_param_new_symbol("a");
QkParam *out = qk_param_zero();
qk_param_acos(out, a);

안전

QkParam또는 srcout 하나가 유효한, null이 아닌 포인터가 아닌 경우, 해당 동작은 정의되지 않습니다.

매개변수

  • acos(src)out – 결과를 QkParam 저장할 포인터.
  • src – 코사인 함수를 적용할 대상에 QkParam 대한 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_atan

QkExitCode qk_param_atan(QkParam *out, const QkParam *src)

QkParam의 아크탄젠트를 구하십시오.

QkParam *a = qk_param_new_symbol("a");
QkParam *out = qk_param_zero();
qk_param_atan(out, a);

안전

QkParam또는 srcout 하나가 유효한, null이 아닌 포인터가 아닌 경우, 해당 동작은 정의되지 않습니다.

매개변수

  • atan(src)``QkParam** out** – 결과를 저장할 포인터.
  • src – 아크탄젠트 연산을 적용할 대상에 QkParam 대한 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_log

QkExitCode qk_param_log(QkParam *out, const QkParam *src)

QkParam의 자연로그를 구하라.

QkParam *a = qk_param_new_symbol("a");
QkParam *out = qk_param_zero();
qk_param_log(out, a);

안전

QkParam또는 srcout 하나가 유효한, null이 아닌 포인터가 아닌 경우, 해당 동작은 정의되지 않습니다.

매개변수

  • log(src)out – 결과를 QkParam 저장할 포인터.
  • src – 로그 연산을 적용할 대상에 QkParam 대한 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_exp

QkExitCode qk_param_exp(QkParam *out, const QkParam *src)

QkParam지수 함수를 에 적용하십시오.

QkParam *a = qk_param_new_symbol("a");
QkParam *out = qk_param_zero();
qk_param_exp(out, a);

안전

QkParam또는 srcout 하나가 유효한, null이 아닌 포인터가 아닌 경우, 해당 동작은 정의되지 않습니다.

매개변수

  • exp(src)out – 결과를 QkParam 저장할 포인터.
  • src – 지수 함수를 계산할 대상에 QkParam 대한 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_abs

QkExitCode qk_param_abs(QkParam *out, const QkParam *src)

QkParam의 절댓값을 구하시오.

QkParam *a = qk_param_new_symbol("a");
QkParam *out = qk_param_zero();
qk_param_abs(out, a);

안전

QkParam또는 srcout 하나가 유효한, null이 아닌 포인터가 아닌 경우, 해당 동작은 정의되지 않습니다.

매개변수

  • out – 결과를 저장할 QkParam 객체에 대한 포인터.
  • srcQkParam에 대한 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_sign

QkExitCode qk_param_sign(QkParam *out, const QkParam *src)

QkParam의 기호를 확인하세요.

QkParam *a = qk_param_new_symbol("a");
QkParam *out = qk_param_zero();
qk_param_sign(out, a);

안전

QkParam또는 srcout 하나가 유효한, null이 아닌 포인터가 아닌 경우, 해당 동작은 정의되지 않습니다.

매개변수

  • sign(src)out – 결과를 QkParam 저장할 포인터.
  • src – 부호를 확인하려는 값을 QkParam 가리키는 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_neg

QkExitCode qk_param_neg(QkParam *out, const QkParam *src)

QkParam.을 부정하다.

QkParam *a = qk_param_new_symbol("a");
QkParam *out = qk_param_zero();
qk_param_neg(out, a);

안전

QkParam또는 srcout 하나가 유효한, null이 아닌 포인터가 아닌 경우, 해당 동작은 정의되지 않습니다.

매개변수

  • -srcout – 결과를 QkParam 저장할 포인터.
  • src – 반전할 대상에 대한 QkParam 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_conjugate

QkExitCode qk_param_conjugate(QkParam *out, const QkParam *src)

QkParam의 복소공액값을 구하라.

QkParam *a = qk_param_new_symbol("a");
QkParam *out = qk_param_zero();
qk_param_conjugate(out, a);

안전

QkParam또는 srcout 하나가 유효한, null이 아닌 포인터가 아닌 경우, 해당 동작은 정의되지 않습니다.

매개변수

  • conj(src)out – 결과를 QkParam 저장할 포인터.
  • src – 변환할 대상에 QkParam 대한 포인터.

리턴

성공 시에는 성공을, 그 외의 경우에는 오류를 나타내는 QkExitCode_Success 종료 코드입니다.

qk_param_equal

bool qk_param_equal(const QkParam *lhs, const QkParam *rhs)

QkParam 개를 비교하여 같는지 확인하십시오.

QkParam *a = qk_param_new_symbol("a");
QkParam *one = qk_param_from_value(1.0);
QkParam *mone = qk_param_from_value(-1.0);

QkParam *x = qk_param_add(a, one);
QkParam *y = qk_param_sub(a, mone);

bool equal = qk_param_equal(x, y);

안전

QkParam또는 rhslhs 하나가 유효한, null이 아닌 포인터가 아닌 경우, 해당 동작은 정의되지 않습니다.

매개변수

  • QkParamlhs – 왼쪽 항을 가리키는 포인터.
  • QkParamrhs – 우변을 가리키는 포인터.

리턴

true 객체들이 QkParam 같으면, false 그렇지 않으면.

qk_param_as_real

double qk_param_as_real(const QkParam *param)

doubleQkParam 로 캐스팅해 보세요.

double바인딩되지 않은 매개변수가 있어 매개변수를 로 형변환할 수 없는 경우, NAN 가 반환됩니다. 복소수를 표현할 때는 QkParam 실수부가 반환된다는 점에 유의하십시오.

QkParam *a = qk_param_new_symbol("a");
QkParam *b = qk_param_new_symbol("b");
QkParam *x = qk_param_zero();
qk_param_add(x, a, b);

const QkParam* keys[2] = {a, b};
QkParam *y = qk_param_zero();
qk_param_bind(y, x, keys, {1.0, 2.0}, 2);

double out = qk_param_as_real(y);

안전

QkParam가 유효하고 null이 아닌 포인터가 아닌 경우 param , 해당 동작은 정의되지 않습니다.

매개변수

  • param – 평가할 대상에 QkParam 대한 포인터.

리턴

변환에 성공한 경우 해당 값, 그렇지 않으면 NAN.

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