From f0e90f2b2214fb40843e1caef5e83288bb7b2f81 Mon Sep 17 00:00:00 2001 From: Evgenii Zheltonozhskii Date: Wed, 29 Mar 2023 09:53:48 +0300 Subject: [PATCH] Fix mypy errors (primitives) (#8263) * Fix primitives mypy errors * Remove casts, fix types * Apply suggestions from code review Co-authored-by: Ikko Hamamura --------- Co-authored-by: Ikko Hamamura --- qiskit/primitives/backend_estimator.py | 6 +++--- qiskit/primitives/backend_sampler.py | 4 +++- qiskit/primitives/base/base_primitive.py | 5 ++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/qiskit/primitives/backend_estimator.py b/qiskit/primitives/backend_estimator.py index 02af7a619fef..4b97b0ba1838 100644 --- a/qiskit/primitives/backend_estimator.py +++ b/qiskit/primitives/backend_estimator.py @@ -39,7 +39,7 @@ def _run_circuits( circuits: QuantumCircuit | list[QuantumCircuit], backend: BackendV1 | BackendV2, **run_options, -) -> tuple[Result, list[dict]]: +) -> tuple[list[Result], list[dict]]: """Remove metadata of circuits and run the circuits on a backend. Args: circuits: The circuits @@ -70,7 +70,7 @@ def _run_circuits( return result, metadata -def _prepare_counts(results): +def _prepare_counts(results: list[Result]): counts = [] for res in results: count = res.get_counts() @@ -351,7 +351,7 @@ def _preprocessing(self) -> list[tuple[QuantumCircuit, list[QuantumCircuit]]]: return preprocessed_circuits def _postprocessing( - self, result: Result, accum: list[int], metadata: list[dict] + self, result: list[Result], accum: list[int], metadata: list[dict] ) -> EstimatorResult: """ Postprocessing for evaluation of expectation value using pauli rotation gates. diff --git a/qiskit/primitives/backend_sampler.py b/qiskit/primitives/backend_sampler.py index 932d7a52bd26..b06d552c2cc4 100644 --- a/qiskit/primitives/backend_sampler.py +++ b/qiskit/primitives/backend_sampler.py @@ -158,7 +158,9 @@ def _call( result, _metadata = _run_circuits(bound_circuits, self._backend, **run_options) return self._postprocessing(result, bound_circuits) - def _postprocessing(self, result: Result, circuits: list[QuantumCircuit]) -> SamplerResult: + def _postprocessing( + self, result: list[Result], circuits: list[QuantumCircuit] + ) -> SamplerResult: counts = _prepare_counts(result) shots = sum(counts[0].values()) diff --git a/qiskit/primitives/base/base_primitive.py b/qiskit/primitives/base/base_primitive.py index 436c3dd1f5c4..b9daf0132a77 100644 --- a/qiskit/primitives/base/base_primitive.py +++ b/qiskit/primitives/base/base_primitive.py @@ -16,7 +16,6 @@ from abc import ABC from collections.abc import Sequence -from typing import Any import numpy as np @@ -126,13 +125,13 @@ def _cross_validate_circuits_parameter_values( ) -def _isint(obj: Any) -> bool: +def _isint(obj: Sequence[Sequence[float]] | Sequence[float] | float) -> bool: """Check if object is int.""" int_types = (int, np.integer) return isinstance(obj, int_types) and not isinstance(obj, bool) -def _isreal(obj: Any) -> bool: +def _isreal(obj: Sequence[Sequence[float]] | Sequence[float] | float) -> bool: """Check if object is a real number: int or float except ``±Inf`` and ``NaN``.""" float_types = (float, np.floating) return _isint(obj) or isinstance(obj, float_types) and float("-Inf") < obj < float("Inf")