@@ -804,8 +804,8 @@ def serialize_circuit(circuit_inp):
804
804
Currently we only support scalar multiplication of symbols and
805
805
no other more complex arithmetic expressions. This means
806
806
we can support things like X**(3*alpha), and Rx(alpha). Because
807
- we use the `cirq.Program` proto, we only support `cirq.GridQubit` instances
808
- during serialization of circuits.
807
+ we use the `cirq.Program` proto, we only support `cirq.GridQubit`
808
+ and `cirq.LineQubit` instances during serialization of circuits.
809
809
810
810
Note: once serialized terminal measurements are removed.
811
811
@@ -832,10 +832,10 @@ def serialize_circuit(circuit_inp):
832
832
measured_qubits = set ()
833
833
for op in moment :
834
834
for qubit in op .qubits :
835
- if not isinstance (qubit , cirq .GridQubit ):
835
+ if not isinstance (qubit , ( cirq .GridQubit , cirq . LineQubit ) ):
836
836
raise ValueError (
837
837
"Attempted to serialize circuit that don't use "
838
- "only cirq.GridQubits." )
838
+ "only cirq.GridQubits or cirq.LineQubits ." )
839
839
840
840
if isinstance (op .gate , cirq .MeasurementGate ):
841
841
for qubit in op .qubits :
@@ -916,9 +916,10 @@ def serialize_paulisum(paulisum):
916
916
raise TypeError ("serialize requires a cirq.PauliSum object."
917
917
" Given: " + str (type (paulisum )))
918
918
919
- if any (not isinstance (qubit , cirq .GridQubit ) for qubit in paulisum .qubits ):
919
+ if any (not isinstance (qubit , (cirq .LineQubit , cirq .GridQubit ))
920
+ for qubit in paulisum .qubits ):
920
921
raise ValueError ("Attempted to serialize a paulisum that doesn't use "
921
- "only cirq.GridQubits." )
922
+ "only cirq.GridQubits or cirq.LineQubits ." )
922
923
923
924
paulisum_proto = pauli_sum_pb2 .PauliSum ()
924
925
for term in paulisum :
0 commit comments