QkParam
実数またはシンボリックな値を保持できる回路パラメータを表します。
Parameter回路内の機能は QkParam 現時点では限定的ですが、ユーザーはに搭載されているものと同様の操作を行うことができます。
関数
qk_param_new_symbol
QkParam *qk_param_new_symbol(const char *name)
未束縛のシンボルを表す新しい QkParam オブジェクトを作成する。
例
QkParam *a = qk_param_new_symbol("a");安全
parameter は name 、文字列の末尾に有効なヌル終端文字が含まれているメモリへのポインタでなければなりません。 また、ヌル終端文字を含むバイトまでの読み取りに対しても有効でなければならない。
パラメーター
- 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 – Adoubleを使用して、. を初期化します。
戻り値
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 – AQkComplex64を使用して、. を初期化します。
戻り値
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 + 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``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)
ある数を 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``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または の 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 へのポインタ。
- src –
QkParamへのポインタ。
戻り値
成功した場合は、それ以外の場合はエラーを示す 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)
doubleを QkParam としてキャストしてみてください。
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キャストが成功した場合の値。そうでない場合は。