Skip to content

Commit 4ca33f0

Browse files
committed
Update emulator
1 parent 080938c commit 4ca33f0

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

src/braket/devices/device.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from braket.circuits import Circuit, Noise
2323
from braket.circuits.noise_model import NoiseModel
2424
from braket.circuits.translations import SUPPORTED_NOISE_PRAGMA_TO_NOISE
25-
from braket.tasks.quantum_task import QuantumTask, QuantumTaskType, TaskSpecification
25+
from braket.tasks.quantum_task import QuantumTaskType, TaskSpecification
2626
from braket.tasks.quantum_task_batch import QuantumTaskBatch
2727

2828

@@ -75,7 +75,7 @@ def run_batch(
7575
inputs: dict[str, float] | list[dict[str, float]] | None,
7676
*args: Any,
7777
**kwargs: Any,
78-
) -> QuantumTaskBatch[QuantumTask]:
78+
) -> QuantumTaskBatch[QuantumTaskType]:
7979
"""Executes a batch of quantum tasks in parallel
8080
8181
Args:

src/braket/emulation/emulator.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,11 @@
2323
from braket.devices import Device
2424
from braket.emulation.pass_manager import PassManager
2525
from braket.emulation.passes import ValidationPass
26-
from braket.tasks import QuantumTask
27-
from braket.tasks.quantum_task import TaskSpecification
26+
from braket.tasks.quantum_task import QuantumTaskType, TaskSpecification
2827
from braket.tasks.quantum_task_batch import QuantumTaskBatch
2928

3029

31-
class Emulator(Device):
30+
class Emulator(Device[QuantumTaskType]):
3231
"""
3332
An emulator is a simulation device that more closely resembles the capabilities and constraints
3433
of a real device or of a specific device model.
@@ -43,7 +42,7 @@ class Emulator(Device):
4342

4443
def __init__(
4544
self,
46-
backend: Device,
45+
backend: Device[QuantumTaskType],
4746
noise_model: NoiseModel | None = None,
4847
passes: Iterable[ValidationPass] | None = None,
4948
**kwargs,
@@ -60,7 +59,7 @@ def run(
6059
inputs: dict[str, float] | None = None,
6160
*args: Any,
6261
**kwargs: Any,
63-
) -> QuantumTask:
62+
) -> QuantumTaskType:
6463
"""Emulate a quantum task specification on this quantum device emulator.
6564
A quantum task can be a circuit or an annealing problem. Emulation
6665
involves running all emulator passes on the input program before running
@@ -94,7 +93,7 @@ def run_batch(
9493
inputs: dict[str, float] | list[dict[str, float]] | None,
9594
*args: Any,
9695
**kwargs: Any,
97-
) -> QuantumTaskBatch:
96+
) -> QuantumTaskBatch[QuantumTaskType]:
9897
raise NotImplementedError("Emulator does not support run_batch.")
9998

10099
@property

src/braket/emulation/local_emulator.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,10 @@
3636
ResultTypeValidator,
3737
_NotImplementedValidator,
3838
)
39+
from braket.tasks.local_quantum_task import LocalQuantumTask
3940

4041

41-
class LocalEmulator(Emulator):
42+
class LocalEmulator(Emulator[LocalQuantumTask]):
4243
"""
4344
A local emulator that mimics the restrictions and noises of a QPU based on the provided device
4445
properties.

0 commit comments

Comments
 (0)