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