Skip to main content
IBM Quantum Platform

QkParam

Bezeichnet einen Schaltungsparameter, der reelle oder symbolische Werte annehmen kann.

ParameterZwar ist die QkParam Funktionalität innerhalb eines Schaltkreises derzeit noch eingeschränkt, doch kann der Benutzer Vorgänge ausführen, die denen in [Name] ähneln.


Funktionen

qk_param_new_symbol

QkParam *qk_param_new_symbol(const char *name)

Erstelle ein neues QkParam , das ein ungebundenes Symbol darstellt.

Beispiel

QkParam *a = qk_param_new_symbol("a");

Sicherheit

Der name Parameter muss ein Zeiger auf einen Speicherbereich sein, der am Ende der Zeichenkette ein gültiges Null-Terminatorzeichen enthält. Sie muss auch für das Lesen von Bytes bis einschließlich des Null-Terminators gültig sein.

Parameter

  • name – Der Name des Symbols. Dieses Feld darf nicht leer sein.

Rückgabe

Ein Zeiger auf die erstellte QkParam.

qk_param_zero

QkParam *qk_param_zero(void)

Erstelle ein neues QkParam mit dem Wert Null.

Der QkParam von dieser Funktion zurückgegebene Wert kann verwendet werden, um das Ergebnis binärer oder unärer Operationen zu speichern.

Beispiel

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

Rückgabe

Ein Zeiger auf die erstellte QkParam.

qk_param_free

void qk_param_free(QkParam *param)

Befreit die QkParam.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn param weder null noch ein gültiger Zeiger auf ein ist.

Parameter

  • param – Ein Zeiger auf den QkParam zu löschenden Speicherbereich.

qk_param_from_double

QkParam *qk_param_from_double(double value)

Erstelle ein neues QkParam aus einem double.

Beispiel

QkParam *r = qk_param_from_double(2.5);

Parameter

  • Wert – A double zum Initialisieren der QkParam.

Rückgabe

Ein Zeiger auf die erstellte QkParam.

qk_param_from_complex

QkParam *qk_param_from_complex(QkComplex64 value)

QkComplex64Konstruiere eine neue QkParam aus einer komplexen Zahl, die als angegeben ist.

Beispiel

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

Parameter

  • Wert – A QkComplex64 zum Initialisieren der QkParam.

Rückgabe

Ein Zeiger auf die erstellte QkParam.

qk_param_copy

QkParam *qk_param_copy(const QkParam *param)

Kopiere ein QkParam.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn param kein gültiger Zeiger auf einen Wert ungleich Null ist.

Parameter

  • param – Der QkParam zu kopierende Wert.

Rückgabe

Ein Zeiger auf die erstellte QkParam.

qk_param_str

char *qk_param_str(const QkParam *param)

QkParamErhalte eine Zeichenfolgendarstellung von.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn param kein gültiger Zeiger auf einen Wert ungleich Null ist.

Die Zeichenkette darf nicht mit dem normalen C-Befehl free freigegeben werden; du musst verwenden qk_str_free , um den von der Zeichenkette belegten Speicher freizugeben. Wird dies nicht aufgerufen qk_str_free , führt dies zu einem Speicherleck.

Ändern Sie die Länge der Zeichenkette nicht, nachdem sie zurückgegeben wurde (indem Sie irgendwo innerhalb der Zeichenkette ein Null-Byte einfügen oder das letzte Byte entfernen), auch wenn die Werte selbst geändert werden können.

Parameter

  • param – Ein Zeiger auf die QkParam.

Rückgabe

Ein Zeiger auf ein null-terminiertes Zeichenarray, das die Zeichenfolgendarstellung von param… enthält.

qk_param_add

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

QkParamFüge zwei hinzu.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn einer der Werte out, lhs oder rhs kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • lhs + rhsout – Ein Zeiger auf den QkParam Speicherort, an dem das Ergebnis von gespeichert werden soll.
  • QkParamlhs – Ein Zeiger auf die linke Seite.
  • QkParamrhs – Ein Zeiger auf die rechte Seite.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_sub

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

QkParamZieh zwei ab.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn einer der Werte out, lhs oder rhs kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • out – Ein Zeiger auf einen QkParam zum Speichern des Ergebnisses von lhs - rhs.
  • QkParamlhs – Ein Zeiger auf die linke Seite.
  • QkParamrhs – Ein Zeiger auf die rechte Seite.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_mul

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

QkParamMultipliziere zwei.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn einer der Werte out, lhs oder rhs kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • out – Ein Zeiger auf einen QkParam zum Speichern des Ergebnisses von lhs * rhs.
  • QkParamlhs – Ein Zeiger auf die linke Seite.
  • QkParamrhs – Ein Zeiger auf die rechte Seite.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_div

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

Teile a QkParam durch b.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn einer der Werte out, num oder den kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • out – Ein Zeiger auf einen QkParam zum Speichern des Ergebnisses von lhs / rhs.
  • QkParamnum – Ein Zeiger auf den Zähler.
  • QkParamden – Ein Zeiger auf den Nenner.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_pow

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

Eine Zahl QkParam zur Potenz einer anderen Zahl erheben.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn einer der Werte out, base oder pow kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • out – Ein Zeiger auf einen QkParam zum Speichern des Ergebnisses von lhs ** rhs.
  • QkParamBasis – Ein Zeiger auf die linke Seite.
  • QkParampow – Ein Zeiger auf die rechte Seite.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_sin

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

QkParamBerechne den Sinus von a.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn oder src``out kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • sin(src)out – Ein Zeiger auf den QkParam Speicherort, an dem das Ergebnis gespeichert werden soll.
  • src – Ein Zeiger auf das QkParam Objekt, auf das die Sinusfunktion angewendet werden soll.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_cos

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

QkParamBerechne den Kosinus von a.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn oder src``out kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • cos(src)out – Ein Zeiger auf den QkParam Speicherort, an dem das Ergebnis gespeichert werden soll.
  • src – Ein Zeiger auf das QkParam Objekt, auf das der Kosinus angewendet werden soll.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_tan

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

QkParamBerechne die Tangens von a.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn oder src``out kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • tan(src)out – Ein Zeiger auf den QkParam Speicherort, an dem das Ergebnis gespeichert werden soll.
  • src – Ein Zeiger auf den QkParam Punkt, auf den die Tangente angewendet werden soll.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_asin

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

QkParamBerechne den Arkussinus von a.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn oder src``out kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • asin(src)out – Ein Zeiger auf den QkParam Speicherort, an dem das Ergebnis gespeichert werden soll.
  • src – Ein Zeiger auf das QkParam Element, auf das die Arkussinusfunktion angewendet werden soll.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_acos

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

QkParamBerechne den Arkuskosinus von a.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn oder src``out kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • acos(src)out – Ein Zeiger auf den QkParam Speicherort, an dem das Ergebnis gespeichert werden soll.
  • src – Ein Zeiger auf das QkParam Objekt, auf das der Kosinus angewendet werden soll.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_atan

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

QkParamBerechne den Arkustangens von a.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn oder src``out kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • atan(src)out – Ein Zeiger auf den QkParam Speicherort, an dem das Ergebnis gespeichert werden soll.
  • src – Ein Zeiger auf das QkParam Element, auf das die Arkustangensfunktion angewendet werden soll.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_log

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

QkParamBerechne den natürlichen Logarithmus von a.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn oder src``out kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • log(src)out – Ein Zeiger auf den QkParam Speicherort, an dem das Ergebnis gespeichert werden soll.
  • src – Ein Zeiger auf das QkParam Element, auf das der Logarithmus angewendet werden soll.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_exp

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

QkParamWende die Exponentialfunktion auf a an.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn oder src``out kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • exp(src)out – Ein Zeiger auf den QkParam Speicherort, an dem das Ergebnis gespeichert werden soll.
  • src – Ein Zeiger auf den QkParam Wert, dessen Exponentialwert berechnet werden soll.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_abs

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

QkParamBerechne den Absolutwert von a.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn oder src``out kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • out – Ein Zeiger auf den Speicherort „ QkParam “, an dem das Ergebnis gespeichert werden soll.
  • src – Ein Zeiger auf die „ QkParam “.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_sign

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

QkParamErmitteln Sie das Vorzeichen von a.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn oder src``out kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • sign(src)out – Ein Zeiger auf den QkParam Speicherort, an dem das Ergebnis gespeichert werden soll.
  • src – Ein Zeiger auf das QkParam Element, dessen Vorzeichen ermittelt werden soll.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_neg

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

Ein QkParam. verneinen.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn oder src``out kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • -srcout – Ein Zeiger auf den QkParam Speicherort, an dem das Ergebnis gespeichert werden soll.
  • src – Ein Zeiger auf das QkParam zu negierende Element.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_conjugate

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

QkParamBerechne das komplexe Konjugierte von a.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn oder src``out kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • conj(src)out – Ein Zeiger auf den QkParam Speicherort, an dem das Ergebnis gespeichert werden soll.
  • src – Ein Zeiger auf das QkParam zu konjugierende Element.

Rückgabe

Ein Exit-Code, der QkExitCode_Success bei Erfolg den Wert und andernfalls einen Fehlerwert angibt.

qk_param_equal

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

Vergleiche zwei QkParam Werte auf Gleichheit.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn oder rhs``lhs kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • QkParamlhs – Ein Zeiger auf die linke Seite.
  • QkParamrhs – Ein Zeiger auf die rechte Seite.

Rückgabe

true wenn die QkParam Objekte gleich sind, false andernfalls.

qk_param_as_real

double qk_param_as_real(const QkParam *param)

doubleVersuchen Sie, als zu QkParam typisieren.

doubleWenn der Parameter nicht in einen umgewandelt werden konnte, weil ungebundene Parameter vorhanden waren, NAN wird zurückgegeben. Beachte, dass bei QkParam der Darstellung komplexer Werte der Realteil zurückgegeben wird.

Beispiel

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

Sicherheit

QkParamDas Verhalten ist nicht definiert, wenn param kein gültiger, nicht-null-Zeiger auf ein ist.

Parameter

  • param – Ein Zeiger auf das QkParam zu bewertende Element.

Rückgabe

Der Wert, falls die Typumwandlung erfolgreich war, andernfalls NAN.

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.