summaryrefslogtreecommitdiff
path: root/pint/numpy_func.py
diff options
context:
space:
mode:
authorJon Thielen <github@jont.cc>2019-12-18 20:04:24 -0600
committerJon Thielen <github@jont.cc>2019-12-18 20:04:24 -0600
commitfe53ca90195938f9e3c9ecfee725a2ecf29dbaa7 (patch)
treeb7c9cd93ea4d6e8a449dfb294da4ecc884ed1dfd /pint/numpy_func.py
parent4c3114c72bdae1e3c5c9f839659169eeb06071cd (diff)
downloadpint-fe53ca90195938f9e3c9ecfee725a2ecf29dbaa7.tar.gz
convert_to_consistent_units should only take Unit or None
Diffstat (limited to 'pint/numpy_func.py')
-rw-r--r--pint/numpy_func.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/pint/numpy_func.py b/pint/numpy_func.py
index 75a4de6..0ac55e9 100644
--- a/pint/numpy_func.py
+++ b/pint/numpy_func.py
@@ -51,7 +51,8 @@ def _get_first_input_units(args, kwargs={}):
def convert_arg(arg, pre_calc_units):
"""Convert quantities and sequences of quantities to pre_calc_units and strip units.
- Helper function for convert_to_consistent_units.
+ Helper function for convert_to_consistent_units. pre_calc_units must be given as a pint
+ Unit or None.
"""
if pre_calc_units is not None:
if _is_quantity(arg):
@@ -199,10 +200,16 @@ def implement_func(func_type, func_str, input_units=None, output_unit=None):
*args, pre_calc_units=first_input_units, **kwargs
)
else:
+ if isinstance(input_units, str):
+ # Conversion requires Unit, not str
+ pre_calc_units = first_input_units._REGISTRY.parse_units(input_units)
+ else:
+ pre_calc_units = input_units
+
# Match all input args/kwargs to input_units, or if input_units is None,
# simply strip units
stripped_args, stripped_kwargs = convert_to_consistent_units(
- *args, pre_calc_units=input_units, **kwargs
+ *args, pre_calc_units=pre_calc_units, **kwargs
)
# Determine result through base numpy function on stripped arguments