op_getter='axis_phase_exponent', ), ], ), ] # # Single qubit deserializers for arbitrary rotations # SINGLE_QUBIT_DESERIALIZERS = [ op_deserializer.GateOpDeserializer( serialized_gate_id='xy', gate_constructor=ops.PhasedXPowGate, args=[ op_deserializer.DeserializingArg( serialized_name='axis_half_turns', constructor_arg_name='phase_exponent', ), op_deserializer.DeserializingArg( serialized_name='half_turns', constructor_arg_name='exponent', ), ], ), op_deserializer.GateOpDeserializer( serialized_gate_id='z', gate_constructor=ops.ZPowGate, args=[ op_deserializer.DeserializingArg( serialized_name='half_turns', constructor_arg_name='exponent', ),
serialized_name='type', serialized_type=str, gate_getter=lambda x: 'virtual_propagates_forward'), ]) ] # # Single qubit deserializers for arbitrary rotations # SINGLE_QUBIT_DESERIALIZERS = [ op_deserializer.GateOpDeserializer( serialized_gate_id='xy', gate_constructor=ops.PhasedXPowGate, args=[ op_deserializer.DeserializingArg( serialized_name='axis_half_turns', constructor_arg_name='phase_exponent'), op_deserializer.DeserializingArg(serialized_name='half_turns', constructor_arg_name='exponent') ]), op_deserializer.GateOpDeserializer(serialized_gate_id='z', gate_constructor=ops.ZPowGate, args=[ op_deserializer.DeserializingArg( serialized_name='half_turns', constructor_arg_name='exponent') ]), ] # # Measurement Serializer and Deserializer