def convert_bitstring(key: typing.Union[BitString, numbers.Integral], n_qubits): if isinstance(key, numbers.Integral): return BitString.from_int(integer=key, nbits=n_qubits) elif isinstance(key, str): return BitString.from_binary(binary=key, nbits=n_qubits) else: return key
def from_int(cls, i: int, coeff=1, n_qubits: int = None): if isinstance(i, BitString): return QubitWaveFunction(state={i: coeff}, n_qubits=n_qubits) else: return QubitWaveFunction( state={BitString.from_int(integer=i, nbits=n_qubits): coeff}, n_qubits=n_qubits)