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

安全

parametername 、文字列の末尾に有効なヌル終端文字が含まれているメモリへのポインタでなければなりません。 また、ヌル終端文字を含むバイトまでの読み取りに対しても有効でなければならない。

パラメーター

  • name – シンボルの名前。 ここを空欄にすることはできません。

戻り値

QkParam作成されたファイルへのポインタ。

qk_param_zero

QkParam *qk_param_zero(void)

値がゼロの新しい 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);

パラメーター

  • QkParamvalue – 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);

パラメーター

  • QkParamvalue – 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``outlhs または rhs が、への有効な(かつNULLではない)ポインタでない場合、その挙動は未定義となる。

パラメーター

  • lhs + rhsout – の結果を格納するための QkParam ポインタ。
  • 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``outlhs または 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``outlhs または 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``outnum または 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)

ある数を QkParam 別の数の累乗にする。

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``outbase または 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または の out いずれかが、への有効な(かつ src 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または の out いずれかが、への有効な(かつ src 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または の out いずれかが、への有効な(かつ src 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または の out いずれかが、への有効な(かつ src 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または の out いずれかが、への有効な(かつ src 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または の out いずれかが、への有効な(かつ src null ではない)ポインタでない場合、その動作は未定義となる。

パラメーター

  • atan(src)out – 結果を格納するための QkParam ポインタ。
  • src – 逆正接関数を適用する対象 QkParam へのポインタ。

戻り値

成功した場合は、それ以外の場合はエラーを示す QkExitCode_Success 終了コード。

qk_param_log

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

QkParama の自然対数を求めなさい。

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

安全

QkParamまたは の out いずれかが、への有効な(かつ src null ではない)ポインタでない場合、その動作は未定義となる。

パラメーター

  • log(src)out – 結果を格納する変数 QkParam へのポインタ。
  • src – 対数関数を適用する対象 QkParam へのポインタ。

戻り値

成功した場合は、それ以外の場合はエラーを示す QkExitCode_Success 終了コード。

qk_param_exp

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

QkParam指数関数を a に適用する。

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

安全

QkParamまたは の out いずれかが、への有効な(かつ src null ではない)ポインタでない場合、その動作は未定義となる。

パラメーター

  • exp(src)out – 結果を格納する変数 QkParam へのポインタ。
  • src – 指数関数を計算する対象 QkParam へのポインタ。

戻り値

成功した場合は、それ以外の場合はエラーを示す QkExitCode_Success 終了コード。

qk_param_abs

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

QkParama の絶対値を求めなさい。

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

安全

QkParamまたは の out いずれかが、への有効な(かつ src 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または の out いずれかが、への有効な(かつ src 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または の out いずれかが、への有効な(かつ src 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または の out いずれかが、への有効な(かつ src null ではない)ポインタでない場合、その動作は未定義となる。

パラメーター

  • conj(src)out – 結果を格納する変数 QkParam へのポインタ。
  • src – 活用対象 QkParam の変数へのポインタ。

戻り値

成功した場合は、それ以外の場合はエラーを示す QkExitCode_Success 終了コード。

qk_param_equal

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

2 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または の lhs いずれかが、への有効な(かつ rhs 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で行ってください。