Skip to main content
IBM Quantum Platform

QkClassicalRegister

typedef struct QkClassicalRegister QkClassicalRegister

Una forma habitual de instanciar varios bits a la vez es crear un registro. Un registro es una colección de bits con nombre. La creación de un registro permite dar un nombre a una colección de bits que puede utilizarse como metadatos en torno a bits específicos de un circuito. Este nombre también se conservará al exportar el circuito a otros idiomas.

Puede crear un registro llamando a qk_classical_register_new(), por ejemplo:

#include <qiskit.h>

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

Lo que crea un nuevo registro clásico de 5 bits llamado "my_creg".

A continuación, para añadir el registro a un circuito se utiliza la función 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

Aunque los circuitos rastrean los registros, los propios registros no aportan apenas diferencias de comportamiento a los circuitos.


Funciones

qk_classical_register_free

void qk_classical_register_free(QkClassicalRegister *reg)

Libere un registro clásico.

Ejemplo

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

Seguridad

El comportamiento es indefinido si reg no es null o un puntero válido a QkClassicalRegister.

Parámetros

  • reg - Un puntero al registro a liberar.

qk_classical_register_new

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

Construye un nuevo registro clásico propio con un número de clbits y un nombre dados

Ejemplo

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

Seguridad

El parámetro name debe ser un puntero a memoria que contenga un terminador nul válido al final de la cadena. También debe ser válido para lecturas de bytes hasta el terminador nul incluido.

Parámetros

  • num_clbits - El número de clbits para crear el registro
  • name - La cadena de nombre para el registro creado. El nombre debe estar compuesto por caracteres válidos de UTF-8.

Devuelve

Un puntero al registro creado

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.