@@ -795,8 +795,8 @@ def serialize_circuit(circuit_inp):
795
795
Currently we only support scalar multiplication of symbols and
796
796
no other more complex arithmetic expressions. This means
797
797
we can support things like X**(3*alpha), and Rx(alpha). Because
798
- we use the `cirq.Program` proto, we only support `cirq.GridQubit` instances
799
- during serialization of circuits.
798
+ we use the `cirq.Program` proto, we only support `cirq.GridQubit`
799
+ and `cirq.LineQubit` instances during serialization of circuits.
800
800
801
801
Note: once serialized terminal measurements are removed.
802
802
@@ -823,10 +823,10 @@ def serialize_circuit(circuit_inp):
823
823
measured_qubits = set ()
824
824
for op in moment :
825
825
for qubit in op .qubits :
826
- if not isinstance (qubit , cirq .GridQubit ):
826
+ if not isinstance (qubit , ( cirq .GridQubit , cirq . LineQubit ) ):
827
827
raise ValueError (
828
828
"Attempted to serialize circuit that don't use "
829
- "only cirq.GridQubits." )
829
+ "only cirq.GridQubits or cirq.LineQubits ." )
830
830
831
831
if isinstance (op .gate , cirq .MeasurementGate ):
832
832
for qubit in op .qubits :
@@ -907,9 +907,10 @@ def serialize_paulisum(paulisum):
907
907
raise TypeError ("serialize requires a cirq.PauliSum object."
908
908
" Given: " + str (type (paulisum )))
909
909
910
- if any (not isinstance (qubit , cirq .GridQubit ) for qubit in paulisum .qubits ):
910
+ if any (not isinstance (qubit , (cirq .LineQubit , cirq .GridQubit ))
911
+ for qubit in paulisum .qubits ):
911
912
raise ValueError ("Attempted to serialize a paulisum that doesn't use "
912
- "only cirq.GridQubits." )
913
+ "only cirq.GridQubits or cirq.LineQubits ." )
913
914
914
915
paulisum_proto = pauli_sum_pb2 .PauliSum ()
915
916
for term in paulisum :
0 commit comments