Skip to main content
IBM Quantum Platform

QkClassicalRegister

typedef struct QkClassicalRegister QkClassicalRegister

一度に複数のビットをインスタンス化する一般的な方法は、レジスタを作成することである。 レジスタとは、名前の付いたビットの集まりである。 レジスタを作成することで、ビットの集まりに名前を付けることができ、回路内の特定のビットのメタデータとして使用できる。 この名前は、通常、回路を交換言語にエクスポートする際にも保持される。

例えば、 qk_classical_register_new() を呼び出すことで、レジスタを作成することができる:

#include <qiskit.h>

QkClassicalRegister *creg = qk_classical_register_new(5, "my_creg");

これにより、 "my_creg" という新しい5ビットのレジスタが作成される。

そして、レジスタを回路に追加するには、 qk_circuit_add_classical_register() 関数を使う:

QkCircuit *qc = qk_circuit_new(0, 0);
qk_circuit_add_classical_register(qc, creg);
uint32_t num_qubits = qk_circuit_num_qubits(qc); // 5

回路はレジスタを追跡するが、レジスタ自体は回路にほとんど動作の違いを与えない。


関数

qk_classical_register_free

void qk_classical_register_free(QkClassicalRegister *reg)

クラシックのレジスターが無料。

QkClassicalRegister *cr = qk_classical_register_new(1024, "creg");
qk_classical_register_free(cr);

安全

reg が NULL または QkClassicalRegister への有効なポインタでない場合、動作は未定義となる。

パラメーター

  • reg - 解放するレジスタへのポインタ.

qk_classical_register_new

QkClassicalRegister *qk_classical_register_new(uint32_t num_clbits, const char *name)

指定されたビット数と名前で新しい古典的レジスタを作成する

QkClassicalRegister *cr = qk_classical_register_new(5, "five_qubits");

安全

name パラメーターは、文字列の末尾に有効なヌル・ターミネーターを含むメモリーへのポインターでなければならない。 また、ヌル・ターミネーターまでのバイト数のリードに対しても有効でなければならない。

パラメーター

  • num_clbits - レジスタを作成するclbitsの数
  • name - 作成されるレジスタの名前文字列。 名前は UTF-8 の有効な文字で構成されなければならない。

戻り値

作成されたレジスタへのポインタ

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。