Skip to main content
IBM Quantum Platform

QkParam

Representa um parâmetro de circuito que pode conter valores reais ou simbólicos.

Embora a funcionalidade de um QkParam dentro de um circuito seja atualmente limitada, o usuário pode realizar operações semelhantes às presentes em Parameter.


Funções

qk_param_new_symbol

QkParam *qk_param_new_symbol(const char *name)

Crie um novo QkParam que represente um símbolo não vinculado.

Exemplo

QkParam *a = qk_param_new_symbol("a");

Segurança

O name parâmetro deve ser um ponteiro para a memória que contenha um terminador nulo válido no final da string. Além disso, deve ser válido para leituras de bytes até o caractere de terminação NUL, inclusive.

Parâmetros

  • nome – O nome do símbolo. Este campo não pode ficar em branco.

Retorna

QkParamUm ponteiro para o arquivo. criado

qk_param_zero

QkParam *qk_param_zero(void)

Crie um novo QkParam com valor zero.

O valor QkParam retornado por esta função pode ser usado para armazenar o resultado de operações binárias ou unárias.

Exemplo

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);

Retorna

QkParamUm ponteiro para o arquivo. criado

qk_param_free

void qk_param_free(QkParam *param)

Liberte o QkParam.

Exemplo

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

Segurança

O comportamento é indefinido se param não for nulo nem um ponteiro válido para um QkParam.

Parâmetros

  • param – Um ponteiro para a memória QkParam a ser liberada.

qk_param_from_double

QkParam *qk_param_from_double(double value)

Crie um novo QkParam a partir de um double.

Exemplo

QkParam *r = qk_param_from_double(2.5);

Parâmetros

  • valor – A double para inicializar o QkParam.

Retorna

QkParamUm ponteiro para o arquivo. criado

qk_param_from_complex

QkParam *qk_param_from_complex(QkComplex64 value)

Construa um novo QkParam a partir de um número complexo, dado como QkComplex64.

Exemplo

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

Parâmetros

  • valor – A QkComplex64 para inicializar o QkParam.

Retorna

QkParamUm ponteiro para o arquivo. criado

qk_param_copy

QkParam *qk_param_copy(const QkParam *param)

Copie um QkParam.

Exemplo

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

Segurança

QkParamO comportamento é indefinido se param não for um ponteiro válido para um valor diferente de nulo.

Parâmetros

  • param – O QkParam a ser copiado.

Retorna

QkParamUm ponteiro para o arquivo. criado

qk_param_str

char *qk_param_str(const QkParam *param)

Obter uma representação em forma de string do QkParam.

Exemplo

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

Segurança

QkParamO comportamento é indefinido se param não for um ponteiro válido para um valor diferente de nulo.

A string não deve ser liberada com a função free padrão do C; é necessário usar qk_str_free para liberar a memória ocupada pela string. Não chamar qk_str_free essa função resultará em um vazamento de memória.

Não altere o comprimento da string após ela ter sido retornada (escrevendo um byte nulo em algum ponto da string ou removendo o byte final), embora os valores possam ser modificados.

Parâmetros

  • param – Um ponteiro para o QkParam.

Retorna

Um ponteiro para uma matriz de caracteres terminada em NUL que contém a representação da string para param.

qk_param_add

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

QkParamAdicione dois.

Exemplo

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);

Segurança

O comportamento é indefinido se qualquer um dos valores out, lhs ou rhs não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • out – Um ponteiro para a variável QkParam onde será armazenado o resultado de lhs + rhs.
  • QkParamlhs – Um ponteiro para o lado esquerdo.
  • QkParamrhs – Um ponteiro para o lado direito.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_sub

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

QkParamSubtraia dois.

Exemplo

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);

Segurança

O comportamento é indefinido se qualquer um dos valores out, lhs ou rhs não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • out – Um ponteiro para uma variável QkParam onde será armazenado o resultado de lhs - rhs.
  • QkParamlhs – Um ponteiro para o lado esquerdo.
  • QkParamrhs – Um ponteiro para o lado direito.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_mul

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

QkParamMultiplique dois.

Exemplo

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);

Segurança

O comportamento é indefinido se qualquer um dos valores out, lhs ou rhs não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • out – Um ponteiro para uma variável QkParam onde será armazenado o resultado de lhs * rhs.
  • QkParamlhs – Um ponteiro para o lado esquerdo.
  • QkParamrhs – Um ponteiro para o lado direito.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_div

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

Divida a QkParam por outro.

Exemplo

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);

Segurança

O comportamento é indefinido se qualquer um dos valores out, num ou den não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • out – Um ponteiro para uma variável QkParam onde será armazenado o resultado de lhs / rhs.
  • QkParamnum – Um ponteiro para o numerador.
  • QkParamden – Um ponteiro para o denominador.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_pow

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

Elevar a QkParam à potência de outro.

Exemplo

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);

Segurança

O comportamento é indefinido se qualquer um dos valores out, base ou pow não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • out – Um ponteiro para uma variável QkParam onde será armazenado o resultado de lhs ** rhs.
  • QkParambase – Um ponteiro para o lado esquerdo.
  • QkParampow – Um ponteiro para o lado direito.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_sin

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

Calcule o seno de a QkParam.

Exemplo

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

Segurança

O comportamento é indefinido se qualquer um dos parâmetros out ou src não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • sin(src)out – Um ponteiro para a variável QkParam onde o resultado será armazenado.
  • src – Um ponteiro para o elemento QkParam ao qual se aplicará a função seno.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_cos

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

QkParamCalcule o cosseno de a.

Exemplo

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

Segurança

O comportamento é indefinido se qualquer um dos parâmetros out ou src não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • cos(src)out – Um ponteiro para a variável QkParam onde o resultado será armazenado.
  • src – Um ponteiro para o elemento QkParam ao qual se aplicará a função cosseno.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_tan

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

Calcule a tangente de a QkParam.

Exemplo

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

Segurança

O comportamento é indefinido se qualquer um dos parâmetros out ou src não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • tan(src)out – Um ponteiro para a variável QkParam onde o resultado será armazenado.
  • src – Um ponteiro para o elemento QkParam ao qual a tangente será aplicada.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_asin

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

Calcule o arco seno de a QkParam.

Exemplo

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

Segurança

O comportamento é indefinido se qualquer um dos parâmetros out ou src não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • asin(src)out – Um ponteiro para a variável QkParam onde o resultado será armazenado.
  • src – Um ponteiro para o valor QkParam ao qual se aplicará a função arcseno.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_acos

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

QkParamCalcule o arcocseno de a.

Exemplo

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

Segurança

O comportamento é indefinido se qualquer um dos parâmetros out ou src não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • acos(src)out – Um ponteiro para a variável QkParam onde o resultado será armazenado.
  • src – Um ponteiro para o elemento QkParam ao qual se aplicará a função cosseno.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_atan

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

QkParamCalcule a arcotangente de a.

Exemplo

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

Segurança

O comportamento é indefinido se qualquer um dos parâmetros out ou src não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • out – Um ponteiro para o QkParam onde o resultado será armazenado, atan(src).
  • src – Um ponteiro para o valor QkParam ao qual se aplicará a função arcotangente.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_log

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

QkParamCalcule o logaritmo natural de a.

Exemplo

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

Segurança

O comportamento é indefinido se qualquer um dos parâmetros out ou src não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • log(src)out – Um ponteiro para a variável QkParam onde o resultado será armazenado.
  • src – Um ponteiro para o valor QkParam ao qual se aplicará o logaritmo.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_exp

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

Aplique a função exponencial a um QkParam.

Exemplo

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

Segurança

O comportamento é indefinido se qualquer um dos parâmetros out ou src não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • exp(src)out – Um ponteiro para a variável QkParam onde o resultado será armazenado.
  • src – Um ponteiro para o QkParam valor cuja exponencial deve ser calculada.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_abs

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

QkParamCalcule o valor absoluto de a.

Exemplo

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

Segurança

O comportamento é indefinido se qualquer um dos parâmetros out ou src não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • out – Um ponteiro para o objeto QkParam no qual o resultado será armazenado.
  • src – Um ponteiro para o objeto QkParam.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_sign

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

Descubra o significado de um QkParam.

Exemplo

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

Segurança

O comportamento é indefinido se qualquer um dos parâmetros out ou src não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • sign(src)out – Um ponteiro para a variável QkParam onde o resultado será armazenado.
  • src – Um ponteiro para o QkParam valor cujo sinal se deseja obter.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_neg

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

Negar a QkParam.

Exemplo

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

Segurança

O comportamento é indefinido se qualquer um dos parâmetros out ou src não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • -srcout – Um ponteiro para a variável QkParam onde o resultado será armazenado.
  • src – Um ponteiro para o valor QkParam a ser negado.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_conjugate

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

QkParamCalcule o conjugado complexo de a.

Exemplo

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

Segurança

O comportamento é indefinido se qualquer um dos parâmetros out ou src não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • conj(src)out – Um ponteiro para a variável QkParam onde o resultado será armazenado.
  • src – Um ponteiro para o elemento QkParam a ser conjugado.

Retorna

Um código de saída que indica QkExitCode_Success sucesso em caso de sucesso e um erro caso contrário.

qk_param_equal

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

Compare dois QkParam valores para verificar se são iguais.

Exemplo

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);

Segurança

O comportamento é indefinido se qualquer um dos parâmetros lhs ou rhs não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • QkParamlhs – Um ponteiro para o lado esquerdo.
  • QkParamrhs – Um ponteiro para o lado direito.

Retorna

true se os QkParam objetos forem iguais, false caso contrário.

qk_param_as_real

double qk_param_as_real(const QkParam *param)

Tente converter em QkParam double.

Se não for possível converter o parâmetro para um double, devido à existência de parâmetros não definidos, NAN é retornado. Observe que, ao QkParam representar valores complexos, é retornada a parte real.

Exemplo

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);

Segurança

O comportamento é indefinido se param não for um ponteiro válido e diferente de nulo para um QkParam.

Parâmetros

  • param – Um ponteiro para a função QkParam a ser avaliada.

Retorna

O valor, se a conversão foi bem-sucedida; caso contrário, NAN.

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.