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"]]}
... ))
</td>
</tr>
<tr>
<td>
`0`<a id="0"></a>
</td>
<td>
───H───@───
│
</td>
</tr><tr>
<td>
`1`<a id="1"></a>
</td>
<td>
───────X───
|
Returns |
The parsed circuit.
|
Raises |
ValueError
|
Invalid circuit URL, or circuit would be larger than
max_operations_count .
|