diff --git a/adaptive/learner/average_learner.py b/adaptive/learner/average_learner.py index ef27a2ef4..2705eb04e 100644 --- a/adaptive/learner/average_learner.py +++ b/adaptive/learner/average_learner.py @@ -1,6 +1,8 @@ from __future__ import annotations from math import sqrt +from numbers import Integral as Int +from numbers import Real from typing import Callable import cloudpickle @@ -8,7 +10,7 @@ from adaptive.learner.base_learner import BaseLearner from adaptive.notebook_integration import ensure_holoviews -from adaptive.types import Float, Int, Real +from adaptive.types import Float from adaptive.utils import ( assign_defaults, cache_latest, diff --git a/adaptive/learner/average_learner1D.py b/adaptive/learner/average_learner1D.py index ef99e50a5..aa4be9d71 100644 --- a/adaptive/learner/average_learner1D.py +++ b/adaptive/learner/average_learner1D.py @@ -5,6 +5,8 @@ from collections import defaultdict from copy import deepcopy from math import hypot +from numbers import Integral as Int +from numbers import Real from typing import Callable, DefaultDict, Iterable, List, Sequence, Tuple import numpy as np @@ -14,7 +16,6 @@ from adaptive.learner.learner1D import Learner1D, _get_intervals from adaptive.notebook_integration import ensure_holoviews -from adaptive.types import Int, Real from adaptive.utils import assign_defaults, partial_function_from_dataframe try: @@ -576,10 +577,10 @@ def tell_many_at_point(self, x: Real, seed_y_mapping: dict[int, Real]) -> None: self._update_interpolated_loss_in_interval(*interval) self._oldscale = deepcopy(self._scale) - def _get_data(self) -> dict[Real, Real]: + def _get_data(self) -> dict[Real, dict[Int, Real]]: return self._data_samples - def _set_data(self, data: dict[Real, Real]) -> None: + def _set_data(self, data: dict[Real, dict[Int, Real]]) -> None: if data: for x, samples in data.items(): self.tell_many_at_point(x, samples) diff --git a/adaptive/learner/learner1D.py b/adaptive/learner/learner1D.py index 3af731e29..9987da468 100644 --- a/adaptive/learner/learner1D.py +++ b/adaptive/learner/learner1D.py @@ -4,6 +4,8 @@ import itertools import math from copy import copy, deepcopy +from numbers import Integral as Int +from numbers import Real from typing import Any, Callable, Dict, List, Sequence, Tuple, Union import cloudpickle @@ -15,7 +17,7 @@ from adaptive.learner.learnerND import volume from adaptive.learner.triangulation import simplex_volume_in_embedding from adaptive.notebook_integration import ensure_holoviews -from adaptive.types import Float, Int, Real +from adaptive.types import Float from adaptive.utils import ( assign_defaults, cache_latest, diff --git a/adaptive/learner/sequence_learner.py b/adaptive/learner/sequence_learner.py index 959b233c9..557c7a588 100644 --- a/adaptive/learner/sequence_learner.py +++ b/adaptive/learner/sequence_learner.py @@ -1,13 +1,13 @@ from __future__ import annotations from copy import copy +from numbers import Integral as Int from typing import Any, Tuple import cloudpickle from sortedcontainers import SortedDict, SortedSet from adaptive.learner.base_learner import BaseLearner -from adaptive.types import Int from adaptive.utils import assign_defaults, partial_function_from_dataframe try: diff --git a/adaptive/types.py b/adaptive/types.py index 67268f822..a49b332a6 100644 --- a/adaptive/types.py +++ b/adaptive/types.py @@ -1,3 +1,5 @@ +from numbers import Integral as Int +from numbers import Real from typing import Union import numpy as np @@ -9,6 +11,7 @@ from typing_extensions import TypeAlias Float: TypeAlias = Union[float, np.float_] -Int: TypeAlias = Union[int, np.int_] -Real: TypeAlias = Union[Float, Int] Bool: TypeAlias = Union[bool, np.bool_] + + +__all__ = ["Float", "Bool", "Int", "Real"]