Constructs a Cirq circuit from Quirk's JSON format.
cirq.quirk_json_to_circuit(
data: dict,
*,
qubits: Optional[Sequence['cirq.Qid']] = None,
extra_cell_makers: Union[Dict[str, 'cirq.Gate'], Iterable['cirq.interop.quirk.cells.CellMaker']] = (),
quirk_url: Optional[str] = None,
max_operation_count: int = (10 ** 6)
) -> 'cirq.Circuit'
Used in the notebooks
Args |
data
|
Data parsed from quirk's JSON representation.
|
qubits
|
Qubits to use in the circuit. See quirk_url_to_circuit.
|
extra_cell_makers
|
Non-standard Quirk cells to accept. See
quirk_url_to_circuit.
|
quirk_url
|
If given, the original URL from which the JSON was parsed, as
described in quirk_url_to_circuit.
|
max_operation_count
|
If the number of operations in the circuit would
exceed this value, the method raises a ValueError instead of
attempting to construct the circuit. This is important to specify
for servers parsing unknown input, because Quirk's format allows for
a billion laughs attack in the form of nested custom gates.
|
Examples:
print(cirq.quirk_json_to_circuit(
{"cols":[["H"], ["•", "X"]]}
))
0: ───H───@───
│
1: ───────X───
Returns |
The parsed circuit.
|
Raises |
ValueError
|
Invalid circuit URL, or circuit would be larger than
max_operations_count .
|