in qumat/cirq_backend.py [0:0]
def execute_circuit(circuit, backend, backend_config):
# Ensure measurement is added to capture the results
if not circuit.has_measurements():
circuit.append(cirq.measure(*circuit.all_qubits(), key='result'))
simulator = cirq.Simulator()
parameter_values = backend_config.get('parameter_values', None)
if parameter_values:
# Convert parameter_values to applicable resolvers
res = [cirq.ParamResolver(parameter_values)]
results = simulator.run_sweep(circuit, repetitions=backend_config['backend_options'].get('shots', 1), params=res)
return [result.histogram(key='result') for result in results]
else:
result = simulator.run(circuit, repetitions=backend_config['backend_options'].get('shots', 1))
return [result.histogram(key='result')]