summaryrefslogtreecommitdiff
path: root/pint/facets/nonmultiplicative
diff options
context:
space:
mode:
Diffstat (limited to 'pint/facets/nonmultiplicative')
-rw-r--r--pint/facets/nonmultiplicative/definitions.py10
-rw-r--r--pint/facets/nonmultiplicative/objects.py10
-rw-r--r--pint/facets/nonmultiplicative/registry.py8
3 files changed, 15 insertions, 13 deletions
diff --git a/pint/facets/nonmultiplicative/definitions.py b/pint/facets/nonmultiplicative/definitions.py
index dbfc0ff..f795cf0 100644
--- a/pint/facets/nonmultiplicative/definitions.py
+++ b/pint/facets/nonmultiplicative/definitions.py
@@ -10,6 +10,7 @@ from __future__ import annotations
from dataclasses import dataclass
+from ..._typing import Magnitude
from ...compat import HAS_NUMPY, exp, log
from ..plain import ScaleConverter
@@ -24,7 +25,7 @@ class OffsetConverter(ScaleConverter):
def is_multiplicative(self):
return self.offset == 0
- def to_reference(self, value, inplace=False):
+ def to_reference(self, value: Magnitude, inplace: bool = False) -> Magnitude:
if inplace:
value *= self.scale
value += self.offset
@@ -33,7 +34,7 @@ class OffsetConverter(ScaleConverter):
return value
- def from_reference(self, value, inplace=False):
+ def from_reference(self, value: Magnitude, inplace: bool = False) -> Magnitude:
if inplace:
value -= self.offset
value /= self.scale
@@ -66,6 +67,7 @@ class LogarithmicConverter(ScaleConverter):
controls if computation is done in place
"""
+ # TODO: Can I use PintScalar here?
logbase: float
logfactor: float
@@ -77,7 +79,7 @@ class LogarithmicConverter(ScaleConverter):
def is_logarithmic(self):
return True
- def from_reference(self, value, inplace=False):
+ def from_reference(self, value: Magnitude, inplace: bool = False) -> Magnitude:
"""Converts value from the reference unit to the logarithmic unit
dBm <------ mW
@@ -95,7 +97,7 @@ class LogarithmicConverter(ScaleConverter):
return value
- def to_reference(self, value, inplace=False):
+ def to_reference(self, value: Magnitude, inplace: bool = False) -> Magnitude:
"""Converts value to the reference unit from the logarithmic unit
dBm ------> mW
diff --git a/pint/facets/nonmultiplicative/objects.py b/pint/facets/nonmultiplicative/objects.py
index 1708e32..0ab743e 100644
--- a/pint/facets/nonmultiplicative/objects.py
+++ b/pint/facets/nonmultiplicative/objects.py
@@ -8,16 +8,16 @@
from __future__ import annotations
-from typing import List
+from ..plain import PlainQuantity
-class NonMultiplicativeQuantity:
+class NonMultiplicativeQuantity(PlainQuantity):
@property
def _is_multiplicative(self) -> bool:
"""Check if the PlainQuantity object has only multiplicative units."""
return not self._get_non_multiplicative_units()
- def _get_non_multiplicative_units(self) -> List[str]:
+ def _get_non_multiplicative_units(self) -> list[str]:
"""Return a list of the of non-multiplicative units of the PlainQuantity object."""
return [
unit
@@ -25,7 +25,7 @@ class NonMultiplicativeQuantity:
if not self._get_unit_definition(unit).is_multiplicative
]
- def _get_delta_units(self) -> List[str]:
+ def _get_delta_units(self) -> list[str]:
"""Return list of delta units ot the PlainQuantity object."""
return [u for u in self._units if u.startswith("delta_")]
@@ -40,7 +40,7 @@ class NonMultiplicativeQuantity:
self._get_unit_definition(d).reference == offset_unit_dim for d in deltas
)
- def _ok_for_muldiv(self, no_offset_units=None) -> bool:
+ def _ok_for_muldiv(self, no_offset_units: int | None = None) -> bool:
"""Checks if PlainQuantity object can be multiplied or divided"""
is_ok = True
diff --git a/pint/facets/nonmultiplicative/registry.py b/pint/facets/nonmultiplicative/registry.py
index 17b053e..8bc04db 100644
--- a/pint/facets/nonmultiplicative/registry.py
+++ b/pint/facets/nonmultiplicative/registry.py
@@ -8,7 +8,7 @@
from __future__ import annotations
-from typing import Any, Optional
+from typing import Any
from ...errors import DimensionalityError, UndefinedUnitError
from ...util import UnitsContainer, logger
@@ -35,7 +35,7 @@ class NonMultiplicativeRegistry(PlainRegistry):
"""
- _quantity_class = NonMultiplicativeQuantity
+ Quantity = NonMultiplicativeQuantity
def __init__(
self,
@@ -56,8 +56,8 @@ class NonMultiplicativeRegistry(PlainRegistry):
def _parse_units(
self,
input_string: str,
- as_delta: Optional[bool] = None,
- case_sensitive: Optional[bool] = None,
+ as_delta: bool | None = None,
+ case_sensitive: bool | None = None,
):
""" """
if as_delta is None: