Source code for qlauncher.routines.qiskit.utils
1from typing import get_args
2
3import numpy as np
4from qiskit.primitives.containers.sampler_pub import SamplerPub, SamplerPubLike
5
6from qlauncher.routines.circuits import CIRCUIT_FORMATS
7
8
[docs]
9def coerce_to_circuit_list(pub: SamplerPubLike | CIRCUIT_FORMATS, shots: int | None = None) -> list[CIRCUIT_FORMATS]:
10 if not isinstance(pub, get_args(CIRCUIT_FORMATS)):
11 coerced = SamplerPub.coerce(pub, shots)
12 bound = coerced.parameter_values.bind_all(coerced.circuit)
13 return np.ravel(bound).tolist()
14 return [pub]