Skip to content

Compatibility shims #1655

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: v0.6
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions qualtran/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@
BQUInt,
QMontgomeryUInt,
QGF,
# Deprecated
BoundedQUInt,
)

# Internal imports: none
Expand Down
6 changes: 6 additions & 0 deletions qualtran/_infra/data_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
"""

import abc
import warnings
from enum import Enum
from functools import cached_property
from typing import Any, Iterable, List, Optional, Sequence, Union
Expand Down Expand Up @@ -527,6 +528,11 @@ def __str__(self):
return f'{self.__class__.__name__}({self.bitsize}, {self.iteration_length})'


def BoundedQUInt(*args, **kwargs):
warnings.warn("Please use `qualtran.BQUInt`", DeprecationWarning)
return BQUInt(*args, **kwargs)


@attrs.frozen
class QFxp(QDType):
r"""Fixed point type to represent real numbers.
Expand Down
2 changes: 1 addition & 1 deletion qualtran/bloqs/mcmt/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@
from qualtran.bloqs.mcmt.and_bloq import And, MultiAnd
from qualtran.bloqs.mcmt.controlled_via_and import ControlledViaAnd
from qualtran.bloqs.mcmt.ctrl_spec_and import CtrlSpecAnd
from qualtran.bloqs.mcmt.multi_control_pauli import MultiControlX, MultiControlZ
from qualtran.bloqs.mcmt.multi_control_pauli import MultiControlPauli, MultiControlX, MultiControlZ
from qualtran.bloqs.mcmt.multi_target_cnot import MultiTargetCNOT
10 changes: 9 additions & 1 deletion qualtran/bloqs/mcmt/multi_control_pauli.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ class MultiControlPauli(GateWithRegisters):
"""

cvs: Union[HasLength, Tuple[int, ...]] = field(converter=_to_tuple_or_has_length)
target_bloq: Bloq
target_bloq: Bloq = None
_target_gate: 'Optional[cirq.Gate]' = field(kw_only=True, default=None)

def __attrs_post_init__(self):
warnings.warn(
Expand All @@ -72,6 +73,13 @@ def __attrs_post_init__(self):
"use `target_bloq.controlled(CtrlSpec(cvs=cvs))`.",
DeprecationWarning,
)
if self.target_bloq is None:
if self._target_gate is None:
raise ValueError("Expected either `target_bloq` or `target_gate`")

from qualtran.cirq_interop import cirq_gate_to_bloq

object.__setattr__(self, 'target_bloq', cirq_gate_to_bloq(self._target_gate))

@cached_property
def signature(self) -> 'Signature':
Expand Down
11 changes: 4 additions & 7 deletions qualtran/bloqs/state_preparation/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.

from qualtran.bloqs.state_preparation.prepare_uniform_superposition import (
PrepareUniformSuperposition,
)
from qualtran.bloqs.state_preparation.state_preparation_alias_sampling import (
from .prepare_base import PrepareOracle
from .prepare_uniform_superposition import PrepareUniformSuperposition
from .state_preparation_alias_sampling import (
SparseStatePreparationAliasSampling,
StatePreparationAliasSampling,
)
from qualtran.bloqs.state_preparation.state_preparation_via_rotation import (
StatePreparationViaRotations,
)
from .state_preparation_via_rotation import StatePreparationViaRotations
3 changes: 3 additions & 0 deletions qualtran/cirq_interop/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,6 @@
)

from ._bloq_to_cirq import BloqAsCirqGate
from .._infra.gate_with_registers import get_named_qubits, merge_qubits, total_bits

assert [get_named_qubits, merge_qubits, total_bits]
Loading