-
Notifications
You must be signed in to change notification settings - Fork 465
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.24: pytest fails in 4 units #2006
Comments
Here is pytest output:+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-pint-0.24-2.fc37.x86_64/usr/lib64/python3.10/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-pint-0.24-2.fc37.x86_64/usr/lib/python3.10/site-packages
+ /usr/bin/pytest -ra -m 'not network'
============================= test session starts ==============================
platform linux -- Python 3.10.14, pytest-8.2.2, pluggy-1.5.0
Matplotlib: 3.9.0
Freetype: 2.13.2
benchmark: 4.0.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /home/tkloczko/rpmbuild/BUILD/pint-0.24
configfile: pyproject.toml
plugins: mpl-0.17.0, subtests-0.12.1, benchmark-4.0.0
collected 2639 items / 3 skipped
pint/testsuite/benchmarks/test_00_common.py . [ 0%]
pint/testsuite/benchmarks/test_01_registry_creation.py .... [ 0%]
pint/testsuite/benchmarks/test_10_registry.py .......................... [ 1%]
........................................................................ [ 3%]
....ss.. [ 4%]
pint/testsuite/benchmarks/test_20_quantity.py .......................... [ 5%]
........................................................................ [ 7%]
........................................................................ [ 10%]
........................................... [ 12%]
pint/testsuite/benchmarks/test_30_numpy.py ............................. [ 13%]
........................................................................ [ 16%]
............... [ 16%]
pint/testsuite/test_application_registry.py ..................ssssssssss [ 17%]
ss.......ssssss..................ssssssssssss..................sssssssss [ 20%]
sss.. [ 20%]
pint/testsuite/test_babel.py sFF..F [ 20%]
pint/testsuite/test_compat.py .......... [ 21%]
pint/testsuite/test_contexts.py ...............................,,,..,,,,. [ 22%]
.......,,... [ 22%]
pint/testsuite/test_converters.py ....... [ 23%]
pint/testsuite/test_definitions.py ....... [ 23%]
pint/testsuite/test_diskcache.py ..... [ 23%]
pint/testsuite/test_errors.py .......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,. [ 23%]
. [ 23%]
pint/testsuite/test_formatter.py .... [ 24%]
pint/testsuite/test_formatting.py .................................. [ 25%]
pint/testsuite/test_infer_base_unit.py ........ [ 25%]
pint/testsuite/test_issues.py x.xx........s......s...x.................. [ 27%]
..............................s.Fss..................................... [ 30%]
..................................x..... [ 31%]
pint/testsuite/test_log_units.py ....................................... [ 33%]
.......................................................xx..xxxx [ 35%]
pint/testsuite/test_matplotlib.py ... [ 35%]
pint/testsuite/test_measurement.py .ssssssssssssssssssssssssssssssssssss [ 36%]
ssssssssssssssssssssssssssssss [ 38%]
pint/testsuite/test_non_int.py .............,,,,,,,,,,,,,,,,,,,,,,,,.... [ 38%]
........................................................................ [ 41%]
........................................................................ [ 44%]
......................................................,,,,,,,,,,,,,,,,,,,,,,,,. [ 46%]
........................................................................ [ 48%]
........................................................................ [ 51%]
.........................................................,,,,,,,,,,,,,,,,,,,,,,,,. [ 53%]
........................................................................ [ 56%]
........................................................................ [ 59%]
............................................ [ 61%]
pint/testsuite/test_numpy.py .....................,,,,,.,,.............. [ 62%]
........s.........x..................................................... [ 65%]
...............,,,,,,....................................ssssss [ 67%]
pint/testsuite/test_numpy_func.py .......................... [ 68%]
pint/testsuite/test_pint_eval.py ....................................... [ 69%]
......................... [ 70%]
pint/testsuite/test_pitheorem.py .. [ 70%]
pint/testsuite/test_quantity.py .......,,,,,,,,,,,,,,,,,,,,.,,,,,,,,.,,. [ 71%]
.,,,,,,,,,.XX....sss........,,,,,,,,,,,,,,,,,,,,,,,,.....s.............. [ 72%]
...................................,,,,,,,,,,,,,,,,,,,,.,,,,,,,,.,,..,,,,,,,,,. [ 74%]
xx....sss........,,,,,,,,,,,,,,,,,,,,,,,,.....s......................... [ 75%]
........................................................................ [ 78%]
........................................................................ [ 81%]
........................................................................ [ 84%]
........................................................................ [ 86%]
........................................................................ [ 89%]
....................... [ 90%]
pint/testsuite/test_systems.py ................... [ 91%]
pint/testsuite/test_testing.py ............ [ 91%]
pint/testsuite/test_umath.py ........................................... [ 93%]
................... [ 94%]
pint/testsuite/test_unit.py ...,,,,,,,,,,,,,.,,,,,,,.,,,,,,,,,.x,,,,,,,,,. [ 94%]
........................................................................ [ 97%]
.................................................. [ 98%]
pint/testsuite/test_util.py ...............,,,,............. [100%]
=================================== FAILURES ===================================
_________________________________ test_format __________________________________
func_registry = <pint.registry.UnitRegistry object at 0x7f668240ef20>
@helpers.requires_babel()
def test_format(func_registry):
ureg = func_registry
dirname = os.path.dirname(__file__)
ureg.load_definitions(os.path.join(dirname, "../xtranslated.txt"))
distance = 24.1 * ureg.meter
> assert distance.format_babel(locale="fr_FR", length="long") == "24,1 mètres"
pint/testsuite/test_babel.py:26:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/typing_extensions.py:2853: in wrapper
return arg(*args, **kwargs)
pint/facets/plain/quantity.py:263: in format_babel
return self._REGISTRY.formatter.format_quantity_babel(self, spec, **kwspec)
pint/delegates/formatter/full.py:241: in format_quantity_babel
return self.format_quantity(
pint/delegates/formatter/full.py:162: in format_quantity
return self.get_formatter(spec).format_quantity(
pint/delegates/formatter/plain.py:136: in format_quantity
self.format_magnitude(quantity.magnitude, mspec, **babel_kwds),
pint/delegates/formatter/plain.py:69: in format_magnitude
with override_locale(mspec, babel_kwds.get("locale", None)) as format_number:
/usr/lib64/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
pint/delegates/formatter/_format_helpers.py:94: in override_locale
setlocale(LC_NUMERIC, locale)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
category = 1, locale = 'fr_FR'
def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be
a string, an iterable of two strings (language code and encoding),
or None.
Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values.
"""
if locale and not isinstance(locale, _builtin_str):
# convert to string
locale = normalize(_build_localename(locale))
> return _setlocale(category, locale)
E locale.Error: unsupported locale setting
/usr/lib64/python3.10/locale.py:620: Error
_____________________________ test_registry_locale _____________________________
@helpers.requires_babel()
def test_registry_locale():
ureg = UnitRegistry(fmt_locale="fr_FR")
dirname = os.path.dirname(__file__)
ureg.load_definitions(os.path.join(dirname, "../xtranslated.txt"))
distance = 24.1 * ureg.meter
> assert distance.format_babel(length="long") == "24,1 mètres"
pint/testsuite/test_babel.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/typing_extensions.py:2853: in wrapper
return arg(*args, **kwargs)
pint/facets/plain/quantity.py:263: in format_babel
return self._REGISTRY.formatter.format_quantity_babel(self, spec, **kwspec)
pint/delegates/formatter/full.py:241: in format_quantity_babel
return self.format_quantity(
pint/delegates/formatter/full.py:162: in format_quantity
return self.get_formatter(spec).format_quantity(
pint/delegates/formatter/plain.py:136: in format_quantity
self.format_magnitude(quantity.magnitude, mspec, **babel_kwds),
pint/delegates/formatter/plain.py:69: in format_magnitude
with override_locale(mspec, babel_kwds.get("locale", None)) as format_number:
/usr/lib64/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
pint/delegates/formatter/_format_helpers.py:94: in override_locale
setlocale(LC_NUMERIC, locale)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
category = 1, locale = 'fr_FR'
def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be
a string, an iterable of two strings (language code and encoding),
or None.
Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values.
"""
if locale and not isinstance(locale, _builtin_str):
# convert to string
locale = normalize(_build_localename(locale))
> return _setlocale(category, locale)
E locale.Error: unsupported locale setting
/usr/lib64/python3.10/locale.py:620: Error
___________________________________ test_str ___________________________________
func_registry = <pint.registry.UnitRegistry object at 0x7f666b6941c0>
@helpers.requires_babel()
def test_str(func_registry):
ureg = func_registry
d = 24.1 * ureg.meter
s = "24.1 meter"
assert str(d) == s
assert "%s" % d == s
assert f"{d}" == s
ureg.set_fmt_locale("fr_FR")
s = "24,1 mètres"
> assert str(d) == s
pint/testsuite/test_babel.py:100:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/quantity.py:269: in __str__
return self._REGISTRY.formatter.format_quantity(self)
pint/delegates/formatter/full.py:162: in format_quantity
return self.get_formatter(spec).format_quantity(
pint/delegates/formatter/plain.py:136: in format_quantity
self.format_magnitude(quantity.magnitude, mspec, **babel_kwds),
pint/delegates/formatter/plain.py:69: in format_magnitude
with override_locale(mspec, babel_kwds.get("locale", None)) as format_number:
/usr/lib64/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
pint/delegates/formatter/_format_helpers.py:94: in override_locale
setlocale(LC_NUMERIC, locale)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
category = 1, locale = 'fr_FR'
def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be
a string, an iterable of two strings (language code and encoding),
or None.
Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values.
"""
if locale and not isinstance(locale, _builtin_str):
# convert to string
locale = normalize(_build_localename(locale))
> return _setlocale(category, locale)
E locale.Error: unsupported locale setting
/usr/lib64/python3.10/locale.py:620: Error
__________________________ TestIssues.test_issue_1400 __________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7f6683474520>
sess_registry = <pint.registry.UnitRegistry object at 0x7f666b51fe50>
@helpers.requires_babel()
def test_issue_1400(self, sess_registry):
q1 = 3.1 * sess_registry.W
q2 = 3.1 * sess_registry.W / sess_registry.cm
> assert q1.format_babel("~", locale="es_ES") == "3,1 W"
pint/testsuite/test_issues.py:915:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/typing_extensions.py:2853: in wrapper
return arg(*args, **kwargs)
pint/facets/plain/quantity.py:263: in format_babel
return self._REGISTRY.formatter.format_quantity_babel(self, spec, **kwspec)
pint/delegates/formatter/full.py:241: in format_quantity_babel
return self.format_quantity(
pint/delegates/formatter/full.py:162: in format_quantity
return self.get_formatter(spec).format_quantity(
pint/delegates/formatter/plain.py:136: in format_quantity
self.format_magnitude(quantity.magnitude, mspec, **babel_kwds),
pint/delegates/formatter/plain.py:69: in format_magnitude
with override_locale(mspec, babel_kwds.get("locale", None)) as format_number:
/usr/lib64/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
pint/delegates/formatter/_format_helpers.py:94: in override_locale
setlocale(LC_NUMERIC, locale)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
category = 1, locale = 'es_ES'
def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be
a string, an iterable of two strings (language code and encoding),
or None.
Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values.
"""
if locale and not isinstance(locale, _builtin_str):
# convert to string
locale = normalize(_build_localename(locale))
> return _setlocale(category, locale)
E locale.Error: unsupported locale setting
/usr/lib64/python3.10/locale.py:620: Error
================================== XFAILURES ===================================
___________________________ TestIssues.test_issue25 ____________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7f6683644790>
module_registry = <pint.registry.UnitRegistry object at 0x7f666b697790>
@pytest.mark.xfail
def test_issue25(self, module_registry):
> x = ParserHelper.from_string("10 %")
pint/testsuite/test_issues.py:27:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/util.py:774: in from_string
ret = build_eval_tree(gen).evaluate(
pint/pint_eval.py:565: in build_eval_tree
result, _ = _build_eval_tree(tokens, op_priority, 0, 0)
pint/pint_eval.py:482: in _build_eval_tree
right, index = _build_eval_tree(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tokens = [TokenInfo(type=2 (NUMBER), string='10', start=(1, 0), end=(1, 2), line='10 %'), TokenInfo(type=54 (OP), string='%', s...ng='', start=(1, 4), end=(1, 5), line=''), TokenInfo(type=0 (ENDMARKER), string='', start=(2, 0), end=(2, 0), line='')]
op_priority = {'': 1, '%': 1, '*': 1, '**': 3, ...}, index = 3, depth = 1
prev_op = '%'
def _build_eval_tree(
tokens: list[TokenInfo],
op_priority: dict[str, int],
index: int = 0,
depth: int = 0,
prev_op: str = "<none>",
) -> tuple[EvalTreeNode, int]:
"""Build an evaluation tree from a set of tokens.
Params:
Index, depth, and prev_op used recursively, so don't touch.
Tokens is an iterable of tokens from an expression to be evaluated.
Transform the tokens from an expression into a recursive parse tree, following order
of operations. Operations can include binary ops (3 + 4), implicit ops (3 kg), or
unary ops (-1).
General Strategy:
1) Get left side of operator
2) If no tokens left, return final result
3) Get operator
4) Use recursion to create tree starting at token on right side of operator (start at step #1)
4.1) If recursive call encounters an operator with lower or equal priority to step #2, exit recursion
5) Combine left side, operator, and right side into a new left side
6) Go back to step #2
Raises
------
DefinitionSyntaxError
If there is a syntax error.
"""
result = None
while True:
current_token = tokens[index]
token_type = current_token.type
token_text = current_token.string
if token_type == tokenlib.OP:
if token_text == ")":
if prev_op == "<none>":
raise DefinitionSyntaxError(
f"unopened parentheses in tokens: {current_token}"
)
elif prev_op == "(":
# close parenthetical group
assert result is not None
return result, index
else:
# parenthetical group ending, but we need to close sub-operations within group
assert result is not None
return result, index - 1
elif token_text == "(":
# gather parenthetical group
right, index = _build_eval_tree(
tokens, op_priority, index + 1, 0, token_text
)
if not tokens[index][1] == ")":
raise DefinitionSyntaxError("weird exit from parentheses")
if result:
# implicit op with a parenthetical group, i.e. "3 (kg ** 2)"
result = EvalTreeNode(left=result, right=right)
else:
# get first token
result = right
elif token_text in op_priority:
if result:
# equal-priority operators are grouped in a left-to-right order,
# unless they're exponentiation, in which case they're grouped
# right-to-left this allows us to get the expected behavior for
# multiple exponents
# (2^3^4) --> (2^(3^4))
# (2 * 3 / 4) --> ((2 * 3) / 4)
if op_priority[token_text] <= op_priority.get(
prev_op, -1
) and token_text not in ("**", "^"):
# previous operator is higher priority, so end previous binary op
return result, index - 1
# get right side of binary op
right, index = _build_eval_tree(
tokens, op_priority, index + 1, depth + 1, token_text
)
result = EvalTreeNode(
left=result, operator=current_token, right=right
)
else:
# unary operator
right, index = _build_eval_tree(
tokens, op_priority, index + 1, depth + 1, "unary"
)
result = EvalTreeNode(left=right, operator=current_token)
elif token_type in (tokenlib.NUMBER, tokenlib.NAME):
if result:
# tokens with an implicit operation i.e. "1 kg"
if op_priority[""] <= op_priority.get(prev_op, -1):
# previous operator is higher priority than implicit, so end
# previous binary op
return result, index - 1
right, index = _build_eval_tree(
tokens, op_priority, index, depth + 1, ""
)
result = EvalTreeNode(left=result, right=right)
else:
# get first token
result = EvalTreeNode(left=current_token)
if tokens[index][0] == tokenlib.ENDMARKER:
if prev_op == "(":
raise DefinitionSyntaxError("unclosed parentheses in tokens")
if depth > 0 or prev_op:
# have to close recursion
> assert result is not None
E AssertionError
pint/pint_eval.py:514: AssertionError
___________________________ TestIssues.test_issue37 ____________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7f6683647460>
module_registry = <pint.registry.UnitRegistry object at 0x7f666b697790>
@pytest.mark.xfail
@helpers.requires_numpy
def test_issue37(self, module_registry):
x = np.ma.masked_array([1, 2, 3], mask=[True, True, False])
q = module_registry.meter * x
assert isinstance(q, module_registry.Quantity)
np.testing.assert_array_equal(q.magnitude, x)
> assert q.units == module_registry.meter.units
E AttributeError: 'Unit' object has no attribute 'units'. Did you mean: '_units'?
pint/testsuite/test_issues.py:52: AttributeError
___________________________ TestIssues.test_issue39 ____________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7f6683647d90>
module_registry = <pint.registry.UnitRegistry object at 0x7f666b697790>
@pytest.mark.xfail
@helpers.requires_numpy
def test_issue39(self, module_registry):
x = np.matrix([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
q = module_registry.meter * x
assert isinstance(q, module_registry.Quantity)
np.testing.assert_array_equal(q.magnitude, x)
> assert q.units == module_registry.meter.units
E AttributeError: 'Unit' object has no attribute 'units'. Did you mean: '_units'?
pint/testsuite/test_issues.py:75: AttributeError
___________________________ TestIssues.test_issue86c ___________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7f6683644fd0>
module_registry = <pint.registry.UnitRegistry object at 0x7f666b697790>
@pytest.mark.xfail
def test_issue86c(self, module_registry):
module_registry.autoconvert_offset_to_baseunit = True
T = module_registry.degC
T = 100.0 * T
> helpers.assert_quantity_almost_equal(
module_registry.k * 2 * T, module_registry.k * (2 * T)
)
pint/testsuite/test_issues.py:322:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
first = <Quantity(746.3, 'boltzmann_constant * kelvin')>
second = <Quantity(473.15, 'boltzmann_constant * kelvin')>, rtol = 1e-07
atol = 0
msg = "Comparing <Quantity(746.3, 'boltzmann_constant * kelvin')> and <Quantity(473.15, 'boltzmann_constant * kelvin')>. (Converted to 746.3 and 473.15)"
def assert_allclose(
first, second, rtol: float = 1e-07, atol: float = 0, msg: str | None = None
) -> None:
if msg is None:
try:
msg = f"Comparing {first!r} and {second!r}. "
except (TypeError, ValueError):
try:
msg = f"Comparing {first} and {second}. "
except Exception:
msg = "Comparing"
m1, m2 = _get_comparable_magnitudes(first, second, msg)
msg += f" (Converted to {m1!r} and {m2!r})"
if isinstance(m1, ndarray) or isinstance(m2, ndarray):
np.testing.assert_allclose(m1, m2, rtol=rtol, atol=atol, err_msg=msg)
elif not isinstance(m1, Number):
warnings.warn("In assert_equal, m1 is not a number ", UserWarning)
return
elif not isinstance(m2, Number):
warnings.warn("In assert_equal, m2 is not a number ", UserWarning)
return
elif math.isnan(m1):
assert math.isnan(m2), msg
elif math.isnan(m2):
assert math.isnan(m1), msg
elif math.isinf(m1):
assert math.isinf(m2), msg
elif math.isinf(m2):
assert math.isinf(m1), msg
else:
# Numpy version (don't like because is not symmetric)
# assert abs(m1 - m2) <= atol + rtol * abs(m2), msg
> assert abs(m1 - m2) <= max(rtol * max(abs(m1), abs(m2)), atol), msg
E AssertionError: Comparing <Quantity(746.3, 'boltzmann_constant * kelvin')> and <Quantity(473.15, 'boltzmann_constant * kelvin')>. (Converted to 746.3 and 473.15)
pint/testing.py:94: AssertionError
____________________________ test_issues_1841_xfail ____________________________
@pytest.mark.xfail
def test_issues_1841_xfail():
from pint import formatting as fmt
from pint.delegates.formatter._compound_unit_helpers import sort_by_dimensionality
# sets compact display mode by default
ur = UnitRegistry()
ur.default_format = "~P"
ur.formatter.default_sort_func = sort_by_dimensionality
q = ur.Quantity("2*pi radian * hour")
# Note that `radian` (and `bit` and `count`) are treated as dimensionless.
# And note that dimensionless quantities are stripped by this process,
# leading to errorneous output. Suggestions?
> assert (
fmt.format_unit(q.u._units, spec="", registry=ur, sort_dims=True)
== "radian * hour"
)
E AssertionError: assert 'pi * radian * hour' == 'radian * hour'
E
E - radian * hour
E + pi * radian * hour
E ? +++++
pint/testsuite/test_issues.py:1220: AssertionError
__________________ test_compound_log_unit_multiply_definition __________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7f666ac74970>
@pytest.mark.xfail
def test_compound_log_unit_multiply_definition(module_registry_auto_offset):
"""Check that compound log units can be defined using multiply."""
Q_ = module_registry_auto_offset.Quantity
canonical_def = Q_(-161, "dBm") / module_registry_auto_offset.Hz
mult_def = -161 * module_registry_auto_offset("dBm/Hz")
> assert mult_def == canonical_def
E AssertionError: assert <Quantity(-202.686991, 'gram * meter ** 2 / second ** 3 / hertz')> == <Quantity(7.94328235e-17, 'gram * meter ** 2 / second ** 3 / hertz')>
pint/testsuite/test_log_units.py:231: AssertionError
__________________ test_compound_log_unit_quantity_definition __________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7f666ac74970>
@pytest.mark.xfail
def test_compound_log_unit_quantity_definition(module_registry_auto_offset):
"""Check that compound log units can be defined using ``Quantity()``."""
Q_ = module_registry_auto_offset.Quantity
canonical_def = Q_(-161, "dBm") / module_registry_auto_offset.Hz
quantity_def = Q_(-161, "dBm/Hz")
> assert quantity_def == canonical_def
pint/testsuite/test_log_units.py:240:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/quantity.py:100: in wrapped
return f(self, *args, **kwargs)
pint/facets/plain/quantity.py:1351: in __eq__
self._convert_magnitude_not_inplace(other._units),
pint/facets/plain/quantity.py:479: in _convert_magnitude_not_inplace
return self._REGISTRY.convert(self._magnitude, self._units, other)
pint/facets/plain/registry.py:1038: in convert
return self._convert(value, src, dst, inplace)
pint/facets/context/registry.py:405: in _convert
return super()._convert(value, src, dst, inplace)
pint/facets/nonmultiplicative/registry.py:246: in _convert
src_offset_unit = self._validate_and_extract(src)
pint/facets/nonmultiplicative/registry.py:165: in _validate_and_extract
nonmult_units = [
pint/facets/nonmultiplicative/registry.py:166: in <listcomp>
(u, e) for u, e in units.items() if not self._is_multiplicative(u)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pint.registry.UnitRegistry object at 0x7f666ac74970>
unit_name = 'delta_decibelmilliwatt'
def _is_multiplicative(self, unit_name: str) -> bool:
"""True if the unit is multiplicative.
Parameters
----------
unit_name
Name of the unit to check.
Can be prefixed, pluralized or even an alias
Raises
------
UndefinedUnitError
If the unit is not in the registry.
"""
if unit_name in self._units:
return self._units[unit_name].is_multiplicative
# If the unit is not in the registry might be because it is not
# registered with its prefixed version.
# TODO: Might be better to register them.
names = self.parse_unit_name(unit_name)
> assert len(names) == 1
E AssertionError
pint/facets/nonmultiplicative/registry.py:131: AssertionError
_____________________________ test_dbm_db_addition _____________________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7f666ac74970>
@pytest.mark.xfail
def test_dbm_db_addition(module_registry_auto_offset):
"""Test a dB value can be added to a dBm and the answer is correct."""
> power = (5 * module_registry_auto_offset.dBm) + (
10 * module_registry_auto_offset.dB
)
pint/testsuite/test_log_units.py:261:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/quantity.py:848: in __add__
return self._add_sub(other, operator.add)
pint/facets/plain/quantity.py:100: in wrapped
return f(self, *args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Quantity(5, 'decibelmilliwatt')>, other = <Quantity(10, 'decibel')>
op = <built-in function add>
@check_implemented
def _add_sub(self, other, op):
"""Perform addition or subtraction operation and return the result.
Parameters
----------
other : pint.PlainQuantity or any type accepted by :func:`_to_magnitude`
object to be added to / subtracted from self
op : function
operator function (e.g. operator.add, operator.isub)
"""
if not self._check(other):
# other not from same Registry or not a PlainQuantity
if zero_or_nan(other, True):
# If the other value is 0 or NaN (but not a PlainQuantity)
# do the operation without checking units.
# We do the calculation instead of just returning the same
# value to enforce any shape checking and type casting due to
# the operation.
units = self._units
magnitude = op(
self._magnitude,
_to_magnitude(other, self.force_ndarray, self.force_ndarray_like),
)
elif self.dimensionless:
units = self.UnitsContainer()
magnitude = op(
self.to(units)._magnitude,
_to_magnitude(other, self.force_ndarray, self.force_ndarray_like),
)
else:
raise DimensionalityError(self._units, "dimensionless")
return self.__class__(magnitude, units)
if not self.dimensionality == other.dimensionality:
> raise DimensionalityError(
self._units, other._units, self.dimensionality, other.dimensionality
)
E pint.errors.DimensionalityError: Cannot convert from 'decibelmilliwatt' ([mass] * [length] ** 2 / [time] ** 3) to 'decibel' (dimensionless)
pint/facets/plain/quantity.py:750: DimensionalityError
_________________ test_frequency_octave_addition[100-2.0-400] __________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7f666ac74970>
freq1 = <Quantity(100, 'hertz')>, octaves = 2.0, freq2 = 400
@pytest.mark.xfail
@pytest.mark.parametrize(
"freq1,octaves,freq2",
[
(100, 2.0, 400),
(50, 1.0, 100),
(200, 0.0, 200),
], # noqa: E231
)
def test_frequency_octave_addition(module_registry_auto_offset, freq1, octaves, freq2):
"""Test an Octave can be added to a frequency correctly"""
freq1 = freq1 * module_registry_auto_offset.Hz
> shift = octaves * module_registry_auto_offset.Octave
pint/testsuite/test_log_units.py:279:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/registry.py:367: in __getattr__
return self.Unit(item)
pint/facets/plain/unit.py:41: in __init__
self._units = self._REGISTRY.parse_units(units)._units
pint/facets/plain/registry.py:1199: in parse_units
self.parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/nonmultiplicative/registry.py:69: in parse_units_as_container
return super().parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1214: in parse_units_as_container
return self._parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1249: in _parse_units_as_container
cname = self.get_name(name, case_sensitive=case_sensitive)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pint.registry.UnitRegistry object at 0x7f666ac74970>
name_or_alias = 'Octave', case_sensitive = True
def get_name(self, name_or_alias: str, case_sensitive: bool | None = None) -> str:
"""Return the canonical name of a unit."""
if name_or_alias == "dimensionless":
return ""
try:
return self._units[name_or_alias].name
except KeyError:
pass
candidates = self.parse_unit_name(name_or_alias, case_sensitive)
if not candidates:
> raise UndefinedUnitError(name_or_alias)
E pint.errors.UndefinedUnitError: 'Octave' is not defined in the unit registry
pint/facets/plain/registry.py:658: UndefinedUnitError
__________________ test_frequency_octave_addition[50-1.0-100] __________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7f666ac74970>
freq1 = <Quantity(50, 'hertz')>, octaves = 1.0, freq2 = 100
@pytest.mark.xfail
@pytest.mark.parametrize(
"freq1,octaves,freq2",
[
(100, 2.0, 400),
(50, 1.0, 100),
(200, 0.0, 200),
], # noqa: E231
)
def test_frequency_octave_addition(module_registry_auto_offset, freq1, octaves, freq2):
"""Test an Octave can be added to a frequency correctly"""
freq1 = freq1 * module_registry_auto_offset.Hz
> shift = octaves * module_registry_auto_offset.Octave
pint/testsuite/test_log_units.py:279:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/registry.py:367: in __getattr__
return self.Unit(item)
pint/facets/plain/unit.py:41: in __init__
self._units = self._REGISTRY.parse_units(units)._units
pint/facets/plain/registry.py:1199: in parse_units
self.parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/nonmultiplicative/registry.py:69: in parse_units_as_container
return super().parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1214: in parse_units_as_container
return self._parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1249: in _parse_units_as_container
cname = self.get_name(name, case_sensitive=case_sensitive)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pint.registry.UnitRegistry object at 0x7f666ac74970>
name_or_alias = 'Octave', case_sensitive = True
def get_name(self, name_or_alias: str, case_sensitive: bool | None = None) -> str:
"""Return the canonical name of a unit."""
if name_or_alias == "dimensionless":
return ""
try:
return self._units[name_or_alias].name
except KeyError:
pass
candidates = self.parse_unit_name(name_or_alias, case_sensitive)
if not candidates:
> raise UndefinedUnitError(name_or_alias)
E pint.errors.UndefinedUnitError: 'Octave' is not defined in the unit registry
pint/facets/plain/registry.py:658: UndefinedUnitError
_________________ test_frequency_octave_addition[200-0.0-200] __________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7f666ac74970>
freq1 = <Quantity(200, 'hertz')>, octaves = 0.0, freq2 = 200
@pytest.mark.xfail
@pytest.mark.parametrize(
"freq1,octaves,freq2",
[
(100, 2.0, 400),
(50, 1.0, 100),
(200, 0.0, 200),
], # noqa: E231
)
def test_frequency_octave_addition(module_registry_auto_offset, freq1, octaves, freq2):
"""Test an Octave can be added to a frequency correctly"""
freq1 = freq1 * module_registry_auto_offset.Hz
> shift = octaves * module_registry_auto_offset.Octave
pint/testsuite/test_log_units.py:279:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/registry.py:367: in __getattr__
return self.Unit(item)
pint/facets/plain/unit.py:41: in __init__
self._units = self._REGISTRY.parse_units(units)._units
pint/facets/plain/registry.py:1199: in parse_units
self.parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/nonmultiplicative/registry.py:69: in parse_units_as_container
return super().parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1214: in parse_units_as_container
return self._parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1249: in _parse_units_as_container
cname = self.get_name(name, case_sensitive=case_sensitive)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pint.registry.UnitRegistry object at 0x7f666ac74970>
name_or_alias = 'Octave', case_sensitive = True
def get_name(self, name_or_alias: str, case_sensitive: bool | None = None) -> str:
"""Return the canonical name of a unit."""
if name_or_alias == "dimensionless":
return ""
try:
return self._units[name_or_alias].name
except KeyError:
pass
candidates = self.parse_unit_name(name_or_alias, case_sensitive)
if not candidates:
> raise UndefinedUnitError(name_or_alias)
E pint.errors.UndefinedUnitError: 'Octave' is not defined in the unit registry
pint/facets/plain/registry.py:658: UndefinedUnitError
________ TestNumpyMathematicalFunctions.test_exponentiation_array_exp_2 ________
self = <pint.testsuite.test_numpy.TestNumpyMathematicalFunctions object at 0x7f6682b6dd20>
@pytest.mark.xfail
@helpers.requires_numpy
def test_exponentiation_array_exp_2(self):
arr = np.array(range(3), dtype=float)
# q = self.Q_(copy.copy(arr), None)
q = self.Q_(copy.copy(arr), "meter")
arr_cp = copy.copy(arr)
q_cp = copy.copy(q)
# this fails as expected since numpy 1.8.0 but...
with pytest.raises(DimensionalityError):
op.pow(arr_cp, q_cp)
# ..not for op.ipow !
# q_cp is treated as if it is an array. The units are ignored.
# Quantity.__ipow__ is never called
arr_cp = copy.copy(arr)
q_cp = copy.copy(q)
with pytest.raises(DimensionalityError):
> op.ipow(arr_cp, q_cp)
pint/testsuite/test_numpy.py:566:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/numpy/quantity.py:72: in __array_ufunc__
return numpy_wrap("ufunc", ufunc, inputs, kwargs, types)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
func_type = 'ufunc', func = <ufunc 'power'>
args = (array([0., 1., 2.]), <Quantity([0. 1. 2.], 'meter')>)
kwargs = {'out': (array([0., 1., 2.]),)}
types = {<class 'pint.Quantity'>, <class 'numpy.ndarray'>}
def numpy_wrap(func_type, func, args, kwargs, types):
"""Return the result from a NumPy function/ufunc as wrapped by Pint."""
if func_type == "function":
handled = HANDLED_FUNCTIONS
# Need to handle functions in submodules
name = ".".join(func.__module__.split(".")[1:] + [func.__name__])
elif func_type == "ufunc":
handled = HANDLED_UFUNCS
# ufuncs do not have func.__module__
name = func.__name__
else:
raise ValueError(f"Invalid func_type {func_type}")
if name not in handled or any(is_upcast_type(t) for t in types):
return NotImplemented
> return handled[name](*args, **kwargs)
E TypeError: _power() got an unexpected keyword argument 'out'
pint/facets/numpy/numpy_func.py:1071: TypeError
____ TestQuantityWithDefaultRegistry.test_formatting_override_default_units ____
self = <pint.testsuite.test_quantity.TestQuantityWithDefaultRegistry object at 0x7f6681e9cd30>
@pytest.mark.xfail(reason="Still not clear how default formatting will work.")
def test_formatting_override_default_units(self):
ureg = UnitRegistry()
ureg.formatter.default_format = "~"
x = ureg.Quantity(4, "m ** 2")
assert f"{x:dP}" == "4 meter²"
> with pytest.warns(DeprecationWarning):
E Failed: DID NOT WARN. No warnings of type (<class 'DeprecationWarning'>,) were emitted.
E Emitted warnings: [].
pint/testsuite/test_quantity.py:278: Failed
__ TestQuantityWithDefaultRegistry.test_formatting_override_default_magnitude __
self = <pint.testsuite.test_quantity.TestQuantityWithDefaultRegistry object at 0x7f6681e9db70>
@pytest.mark.xfail(reason="Still not clear how default formatting will work.")
def test_formatting_override_default_magnitude(self):
ureg = UnitRegistry()
ureg.formatter.default_format = ".2f"
x = ureg.Quantity(4, "m ** 2")
assert f"{x:dP}" == "4 meter²"
> with pytest.warns(DeprecationWarning):
E Failed: DID NOT WARN. No warnings of type (<class 'DeprecationWarning'>,) were emitted.
E Emitted warnings: [].
pint/testsuite/test_quantity.py:292: Failed
________________ TestUnit.test_unit_formatting_defaults_warning ________________
self = <pint.testsuite.test_unit.TestUnit object at 0x7f66823213f0>
@pytest.mark.xfail(reason="Still not clear how default formatting will work.")
def test_unit_formatting_defaults_warning(self):
ureg = UnitRegistry()
ureg.default_format = "~P"
x = ureg.Unit("m / s ** 2")
> with pytest.warns(DeprecationWarning):
E Failed: DID NOT WARN. No warnings of type (<class 'DeprecationWarning'>,) were emitted.
E Emitted warnings: [].
pint/testsuite/test_unit.py:116: Failed
=============================== warnings summary ===============================
pint/testsuite/benchmarks/test_00_common.py::test_import
/usr/lib/python3.10/site-packages/_pytest/python.py:166: PytestReturnNotNoneWarning: Expected None, but pint/testsuite/benchmarks/test_00_common.py::test_import returned 305876, which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`?
warnings.warn(
pint/testsuite/benchmarks/test_00_common.py::test_import
pint/testsuite/benchmarks/test_00_common.py:7: PytestBenchmarkWarning: Benchmark fixture was not used at all in this test!
def test_import(benchmark):
pint/testsuite/test_babel.py::test_format
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:26: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_quantity_babel
assert distance.format_babel(locale="fr_FR", length="long") == "24,1 mètres"
pint/testsuite/test_babel.py::test_registry_locale
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:46: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_quantity_babel
assert distance.format_babel(length="long") == "24,1 mètres"
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:67: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_unit_babel
assert volume.format_babel() == "millilitre"
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:69: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = "~"
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:70: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_unit_babel
assert volume.format_babel() == "ml"
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:73: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_unit_babel
assert dimensionless_unit.format_babel() == ""
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:75: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.set_locale
ureg.set_fmt_locale(None)
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:77: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_unit_babel
volume.format_babel()
pint/testsuite/test_babel.py::test_no_registry_locale
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:85: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_quantity_babel
distance.format_babel()
pint/testsuite/test_babel.py::test_str
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:98: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.set_locale
ureg.set_fmt_locale("fr_FR")
pint/testsuite/test_issues.py::TestIssues::test_issue39
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_issues.py:71: PendingDeprecationWarning: the matrix subclass is not the recommended way to represent matrices or deal with linear algebra (see https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please adjust your code to use regular ndarray.
x = np.matrix([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
pint/testsuite/test_issues.py::TestIssues::test_issue_1400
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_issues.py:915: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_quantity_babel
assert q1.format_babel("~", locale="es_ES") == "3,1 W"
pint/testsuite/test_issues.py::test_issues_1841[units0-P~-V\xb7A]
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_issues.py:1200: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ur.default_format = spec
pint/testsuite/test_issues.py::test_issues_1841_xfail
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_issues.py:1212: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ur.default_format = "~P"
pint/testsuite/test_numpy.py::TestNumpyUnclassified::test_put
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/facets/numpy/quantity.py:154: UnitStrippedWarning: The unit of the quantity is stripped when downcasting to ndarray.
self.magnitude.put(indices, values, mode)
pint/testsuite/test_numpy.py::TestNumpyUnclassified::test_copyto
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/facets/numpy/numpy_func.py:1071: UnitStrippedWarning: The unit of the quantity is stripped when copying to non-quantity
return handled[name](*args, **kwargs)
pint/testsuite/test_quantity.py::TestQuantityToCompact::test_nonnumeric_magnitudes
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testing.py:78: UserWarning: In assert_equal, m1 is not a number
warnings.warn("In assert_equal, m1 is not a number ", UserWarning)
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:73: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = spec
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:86: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = spec
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:107: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = spec
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_defaults_warning
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:113: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = "~P"
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:139: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = spec
pint/testsuite/test_unit.py::TestUnit::test_ipython
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:180: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = "~"
pint/testsuite/test_unit.py::TestRegistry::test_default_format
pint/testsuite/test_unit.py::TestRegistryWithDefaultRegistry::test_default_format
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:325: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = "~"
pint/testsuite/test_unit.py::TestRegistry::test_default_format
pint/testsuite/test_unit.py::TestRegistryWithDefaultRegistry::test_default_format
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:329: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
assert ureg.default_format == "~"
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=================================== XPASSES ====================================
-------------------------------------------------------------------------------------------------------------------- benchmark: 437 tests --------------------------------------------------------------------------------------------------------------------
Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test_op1[truth-float_kilometer] 2.1765 (1.0) 30.3807 (3.38) 2.2857 (1.0) 0.2401 (1.14) 2.2706 (1.0) 0.0419 (1.22) 381;2363 437,506.3355 (1.0) 109622 1
test_op1[truth-complex_meter] 2.1821 (1.00) 32.4007 (3.61) 2.2903 (1.00) 0.2798 (1.32) 2.2715 (1.00) 0.0456 (1.32) 353;3422 436,621.3288 (1.00) 97198 1
test_op1[truth-int_meter] 2.1830 (1.00) 31.1304 (3.47) 2.2969 (1.00) 0.2409 (1.14) 2.2836 (1.01) 0.0410 (1.19) 252;2080 435,367.1145 (1.00) 99995 1
test_op1[truth-complex_kilometer] 2.2016 (1.01) 11.1684 (1.24) 2.2942 (1.00) 0.2112 (1.0) 2.2808 (1.00) 0.0345 (1.0) 281;3196 435,885.8351 (1.00) 104146 1
test_op1[truth-int_kilometer] 2.2091 (1.01) 18.8369 (2.10) 2.3155 (1.01) 0.2385 (1.13) 2.2994 (1.01) 0.0456 (1.32) 378;2496 431,868.7464 (0.99) 100257 1
test_op1[truth-float_meter] 2.2203 (1.02) 19.0102 (2.12) 2.3247 (1.02) 0.2167 (1.03) 2.3087 (1.02) 0.0447 (1.30) 312;2965 430,171.7065 (0.98) 116081 1
test_wrapper_nonstrict[float_kilometer] 2.7977 (1.29) 19.7859 (2.20) 2.9447 (1.29) 0.3416 (1.62) 2.9020 (1.28) 0.0559 (1.62) 505;14338 339,598.6720 (0.78) 104481 1
test_wrapper_nonstrict[int_kilometer] 2.8005 (1.29) 19.7049 (2.20) 2.9417 (1.29) 0.2815 (1.33) 2.9160 (1.28) 0.0456 (1.32) 547;6981 339,935.9941 (0.78) 117247 1
test_wrapper_nonstrict[int_meter] 2.8023 (1.29) 56.0936 (6.25) 2.9318 (1.28) 0.2937 (1.39) 2.9141 (1.28) 0.0466 (1.35) 353;2656 341,093.0414 (0.78) 117994 1
test_wrapper_nonstrict[complex_meter] 2.8033 (1.29) 66.0857 (7.36) 3.0016 (1.31) 0.3967 (1.88) 2.9365 (1.29) 0.0801 (2.32) 416;19750 333,156.3424 (0.76) 105177 1
test_to_units_container_registry[False-meter] 2.8079 (1.29) 19.9052 (2.22) 2.9826 (1.30) 0.3286 (1.56) 2.9542 (1.30) 0.0577 (1.68) 216;2212 335,277.0917 (0.77) 38649 1
test_to_units_container_detached[False-angstrom] 2.8098 (1.29) 11.8241 (1.32) 2.9742 (1.30) 0.2534 (1.20) 2.9560 (1.30) 0.0549 (1.59) 234;912 336,230.0138 (0.77) 39711 1
test_wrapper_nonstrict[complex_kilometer] 2.8117 (1.29) 19.7748 (2.20) 2.9396 (1.29) 0.2536 (1.20) 2.9234 (1.29) 0.0475 (1.38) 552;2340 340,186.8288 (0.78) 106217 1
test_to_units_container_detached[True-angstrom] 2.8135 (1.29) 20.7582 (2.31) 2.9723 (1.30) 0.2559 (1.21) 2.9514 (1.30) 0.0605 (1.76) 852;6025 336,441.6078 (0.77) 142011 1
test_wrapper_nonstrict[float_meter] 2.8135 (1.29) 19.8269 (2.21) 2.9793 (1.30) 0.2797 (1.32) 2.9569 (1.30) 0.0680 (1.97) 816;5069 335,647.9196 (0.77) 111119 1
test_to_units_container_detached[False-meter] 2.8173 (1.29) 34.6201 (3.86) 2.9516 (1.29) 0.3060 (1.45) 2.9309 (1.29) 0.0522 (1.51) 254;1111 338,802.4480 (0.77) 39700 1
test_to_units_container_registry[True-meter] 2.8238 (1.30) 36.4399 (4.06) 2.9858 (1.31) 0.2638 (1.25) 2.9681 (1.31) 0.0587 (1.70) 577;3541 334,918.1168 (0.77) 146847 1
test_to_units_container_detached[True-meter] 2.8284 (1.30) 28.3960 (3.16) 2.9841 (1.31) 0.2654 (1.26) 2.9663 (1.31) 0.0503 (1.46) 597;3574 335,112.2026 (0.77) 142463 1
test_to_units_container_registry[True-angstrom] 2.8294 (1.30) 29.5956 (3.30) 2.9831 (1.31) 0.2650 (1.25) 2.9644 (1.31) 0.0540 (1.57) 742;3379 335,221.7456 (0.77) 145238 1
test_to_units_container_registry[False-angstrom] 2.8517 (1.31) 19.9005 (2.22) 3.0171 (1.32) 0.2912 (1.38) 2.9802 (1.31) 0.0661 (1.92) 237;5097 331,449.5118 (0.76) 41124 1
test_parse_units[True-millisecond] 3.3211 (1.53) 67.1400 (7.48) 3.4672 (1.52) 0.3382 (1.60) 3.4450 (1.52) 0.0540 (1.57) 510;3665 288,418.0539 (0.66) 139902 1
test_parse_units[True-meter] 3.3462 (1.54) 36.2815 (4.04) 3.5087 (1.54) 0.3024 (1.43) 3.4878 (1.54) 0.0559 (1.62) 521;2605 285,008.4852 (0.65) 128963 1
test_parse_units[False-angstrom] 3.3481 (1.54) 11.9973 (1.34) 3.4806 (1.52) 0.2828 (1.34) 3.4589 (1.52) 0.0549 (1.59) 152;820 287,303.9396 (0.66) 37220 1
test_parse_units[True-second] 3.3528 (1.54) 43.9938 (4.90) 3.5133 (1.54) 0.3652 (1.73) 3.4887 (1.54) 0.0531 (1.54) 609;3936 284,634.4890 (0.65) 126293 1
test_parse_units[True-kilometer] 3.3574 (1.54) 30.3593 (3.38) 3.5216 (1.54) 0.3040 (1.44) 3.4990 (1.54) 0.0568 (1.65) 563;3650 283,962.9371 (0.65) 138494 1
test_parse_units[False-minute] 3.3583 (1.54) 20.1305 (2.24) 3.5215 (1.54) 0.3020 (1.43) 3.4999 (1.54) 0.0587 (1.70) 164;824 283,973.7945 (0.65) 36271 1
test_parse_units[False-meter] 3.3630 (1.55) 34.2485 (3.82) 3.5421 (1.55) 0.3578 (1.69) 3.5167 (1.55) 0.0633 (1.84) 262;873 282,319.0019 (0.65) 35097 1
test_parse_units[False-millisecond] 3.3649 (1.55) 8.9752 (1.0) 3.5096 (1.54) 0.2842 (1.35) 3.4887 (1.54) 0.0615 (1.78) 38;152 284,930.1187 (0.65) 8682 1
test_parse_units[True-angstrom] 3.3658 (1.55) 53.8789 (6.00) 3.5698 (1.56) 0.3479 (1.65) 3.5409 (1.56) 0.0736 (2.14) 640;6539 280,125.9234 (0.64) 127842 1
test_parse_units[True-minute] 3.3723 (1.55) 20.0309 (2.23) 3.5467 (1.55) 0.3045 (1.44) 3.5232 (1.55) 0.0605 (1.76) 952;3738 281,949.7016 (0.64) 123207 1
test_parse_units[False-kilometer] 3.3760 (1.55) 10.9542 (1.22) 3.5109 (1.54) 0.2860 (1.35) 3.4897 (1.54) 0.0596 (1.73) 39;181 284,823.4403 (0.65) 9620 1
test_parse_units[False-second] 3.4180 (1.57) 19.7981 (2.21) 3.5901 (1.57) 0.3136 (1.48) 3.5642 (1.57) 0.0624 (1.81) 162;1516 278,544.9547 (0.64) 35290 1
test_op2[lt-keys3] 4.3074 (1.98) 43.5645 (4.85) 4.5593 (1.99) 0.3997 (1.89) 4.5300 (2.00) 0.0866 (2.51) 412;1448 219,332.9096 (0.50) 48646 1
test_op2[lt-keys0] 4.3111 (1.98) 21.1643 (2.36) 4.5954 (2.01) 0.3205 (1.52) 4.5709 (2.01) 0.0773 (2.24) 321;1242 217,610.0046 (0.50) 41432 1
test_op2[lt-keys7] 4.8019 (2.21) 21.2314 (2.37) 5.0662 (2.22) 0.3440 (1.63) 5.0375 (2.22) 0.0848 (2.46) 559;1493 197,386.9200 (0.45) 51603 1
test_op2[lt-keys4] 4.8140 (2.21) 21.6961 (2.42) 5.0672 (2.22) 0.3509 (1.66) 5.0273 (2.21) 0.0829 (2.41) 896;3130 197,346.9869 (0.45) 46693 1
test_op2[eq-keys0] 4.9397 (2.27) 28.1315 (3.13) 5.2032 (2.28) 0.3842 (1.82) 5.1800 (2.28) 0.0875 (2.54) 337;1316 192,190.4774 (0.44) 48293 1
test_op2[eq-keys14] 4.9639 (2.28) 43.5384 (4.85) 5.2447 (2.29) 0.4010 (1.90) 5.2117 (2.30) 0.1024 (2.97) 410;1239 190,669.6718 (0.44) 59719 1
test_op2[eq-keys7] 4.9742 (2.29) 32.6084 (3.63) 5.2173 (2.28) 0.3551 (1.68) 5.1893 (2.29) 0.0773 (2.24) 376;1709 191,670.6263 (0.44) 61263 1
test_op2[eq-keys11] 4.9826 (2.29) 22.1338 (2.47) 5.2276 (2.29) 0.3491 (1.65) 5.1958 (2.29) 0.0875 (2.54) 353;1524 191,291.2572 (0.44) 60168 1
test_op2[eq-keys16] 4.9826 (2.29) 65.9339 (7.35) 5.2492 (2.30) 0.4067 (1.93) 5.2238 (2.30) 0.0773 (2.24) 340;1868 190,505.6154 (0.44) 61242 1
test_op2[eq-keys31] 4.9844 (2.29) 21.5042 (2.40) 5.2173 (2.28) 0.3796 (1.80) 5.1698 (2.28) 0.0745 (2.16) 1072;4257 191,670.1854 (0.44) 56211 1
test_op2[eq-keys26] 4.9900 (2.29) 21.9354 (2.44) 5.2138 (2.28) 0.3521 (1.67) 5.1819 (2.28) 0.0754 (2.19) 579;1907 191,798.5544 (0.44) 59192 1
test_op2[eq-keys21] 4.9965 (2.30) 31.9481 (3.56) 5.2552 (2.30) 0.4009 (1.90) 5.2275 (2.30) 0.0848 (2.46) 344;1616 190,288.7392 (0.43) 58557 1
test_op2[eq-keys33] 4.9975 (2.30) 54.9508 (6.12) 5.2341 (2.29) 0.4071 (1.93) 5.2061 (2.29) 0.0792 (2.30) 312;1314 191,055.9494 (0.44) 54331 1
test_op2[eq-keys4] 4.9975 (2.30) 35.9220 (4.00) 5.2105 (2.28) 0.3827 (1.81) 5.1800 (2.28) 0.0745 (2.16) 440;1530 191,920.7527 (0.44) 55036 1
test_op2[eq-keys2] 5.0142 (2.30) 51.2870 (5.71) 5.2437 (2.29) 0.3843 (1.82) 5.2145 (2.30) 0.0782 (2.27) 368;1380 190,704.2679 (0.44) 57994 1
test_op2[eq-keys35] 5.0142 (2.30) 51.5478 (5.74) 5.2963 (2.32) 0.4587 (2.17) 5.2210 (2.30) 0.0922 (2.68) 1423;8863 188,810.8515 (0.43) 60640 1
test_op2[eq-keys9] 5.0180 (2.31) 57.1273 (6.37) 5.2956 (2.32) 0.4420 (2.09) 5.2331 (2.30) 0.0922 (2.68) 440;6991 188,834.9805 (0.43) 57558 1
test_op2[eq-keys23] 5.0357 (2.31) 58.6677 (6.54) 5.3140 (2.32) 0.4716 (2.23) 5.2731 (2.32) 0.0754 (2.19) 697;2583 188,183.6072 (0.43) 58220 1
test_op2[eq-keys19] 5.0403 (2.32) 59.5534 (6.64) 5.2542 (2.30) 0.4108 (1.94) 5.2238 (2.30) 0.0717 (2.08) 381;1793 190,323.5915 (0.44) 62020 1
test_op2[eq-keys24] 5.0580 (2.32) 44.6998 (4.98) 5.2862 (2.31) 0.3939 (1.87) 5.2545 (2.31) 0.0745 (2.16) 527;1702 189,170.9498 (0.43) 55320 1
test_op2[eq-keys12] 5.0673 (2.33) 22.2456 (2.48) 5.2847 (2.31) 0.3683 (1.74) 5.2517 (2.31) 0.0792 (2.30) 614;1758 189,225.5264 (0.43) 57654 1
test_op2[eq-keys28] 5.2676 (2.42) 22.3545 (2.49) 5.5114 (2.41) 0.3869 (1.83) 5.4780 (2.41) 0.0736 (2.14) 629;1782 181,443.6827 (0.41) 59613 1
test_op1[neg-int_kilometer] 5.8562 (2.69) 64.4475 (7.18) 6.1137 (2.67) 0.4414 (2.09) 6.0834 (2.68) 0.0801 (2.32) 313;983 163,566.0985 (0.37) 51204 1
test_op1[neg-int_meter] 5.8655 (2.69) 33.8545 (3.77) 6.1188 (2.68) 0.4370 (2.07) 6.0750 (2.68) 0.0773 (2.24) 822;1960 163,432.0480 (0.37) 50742 1
test_op1[neg-float_meter] 5.8766 (2.70) 37.4774 (4.18) 6.1097 (2.67) 0.4103 (1.94) 6.0750 (2.68) 0.0754 (2.19) 539;1470 163,674.7303 (0.37) 54713 1
test_op1[neg-float_kilometer] 5.9158 (2.72) 31.3846 (3.50) 6.1236 (2.68) 0.3930 (1.86) 6.0890 (2.68) 0.0726 (2.11) 357;1500 163,302.1518 (0.37) 53760 1
test_op1[neg-complex_kilometer] 5.9698 (2.74) 15.0707 (1.68) 6.2070 (2.72) 0.3506 (1.66) 6.1784 (2.72) 0.0698 (2.03) 330;1350 161,108.6195 (0.37) 54167 1
test_op1[neg-complex_meter] 6.1002 (2.80) 38.5987 (4.30) 6.3812 (2.79) 0.4235 (2.01) 6.3432 (2.79) 0.0838 (2.43) 595;1609 156,710.6333 (0.36) 55030 1
test_getattr[True-minute] 6.4634 (2.97) 57.0789 (6.36) 6.7164 (2.94) 0.4363 (2.07) 6.6804 (2.94) 0.0838 (2.43) 598;1812 148,888.4848 (0.34) 73691 1
test_getattr[False-meter] 6.4680 (2.97) 30.7774 (3.43) 6.7483 (2.95) 0.4131 (1.96) 6.7139 (2.96) 0.0922 (2.68) 179;507 148,186.2222 (0.34) 22387 1
test_getattr[True-second] 6.4950 (2.98) 59.9772 (6.68) 6.7466 (2.95) 0.5200 (2.46) 6.6962 (2.95) 0.0848 (2.46) 1118;2854 148,222.9490 (0.34) 75077 1
test_getattr[False-minute] 6.5006 (2.99) 37.5388 (4.18) 6.8491 (3.00) 0.5329 (2.52) 6.7269 (2.96) 0.1155 (3.35) 911;5468 146,005.1052 (0.33) 27638 1
test_getattr[True-meter] 6.5183 (2.99) 52.5452 (5.85) 6.7672 (2.96) 0.4315 (2.04) 6.7307 (2.96) 0.0773 (2.24) 669;1660 147,771.0413 (0.34) 76795 1
test_getattr[False-angstrom] 6.5202 (3.00) 65.7728 (7.33) 6.8523 (3.00) 0.6755 (3.20) 6.7847 (2.99) 0.0913 (2.65) 389;1400 145,937.1682 (0.33) 22142 1
test_getattr[False-millisecond] 6.5211 (3.00) 14.5622 (1.62) 6.7570 (2.96) 0.3773 (1.79) 6.7223 (2.96) 0.0820 (2.38) 66;215 147,994.7956 (0.34) 8779 1
test_build_by_mul[int] 6.5286 (3.00) 39.2310 (4.37) 6.8237 (2.99) 0.4691 (2.22) 6.7754 (2.98) 0.0950 (2.76) 826;2638 146,548.5779 (0.33) 55753 1
test_base_units[False-angstrom/minute] 6.5397 (3.00) 23.9769 (2.67) 6.7594 (2.96) 0.4153 (1.97) 6.7195 (2.96) 0.0745 (2.16) 238;576 147,942.9844 (0.34) 18203 1
test_getattr[True-kilometer] 6.5397 (3.00) 23.5066 (2.62) 6.8168 (2.98) 0.4215 (2.00) 6.7689 (2.98) 0.0941 (2.73) 1723;3434 146,695.9958 (0.34) 73258 1
test_getattr[False-second] 6.5416 (3.01) 24.5376 (2.73) 6.7842 (2.97) 0.4373 (2.07) 6.7437 (2.97) 0.0829 (2.41) 317;762 147,400.9271 (0.34) 27309 1
test_build_by_mul[float] 6.5556 (3.01) 17.0711 (1.90) 6.8282 (2.99) 0.3913 (1.85) 6.7940 (2.99) 0.0820 (2.38) 412;1309 146,450.7666 (0.33) 58166 1
test_getattr[True-angstrom] 6.5649 (3.02) 38.3593 (4.27) 6.8497 (3.00) 0.4611 (2.18) 6.8061 (3.00) 0.0894 (2.59) 840;2199 145,991.7357 (0.33) 71237 1
test_base_units[True-kilometer/second] 6.5798 (3.02) 36.9316 (4.11) 6.8323 (2.99) 0.4336 (2.05) 6.7949 (2.99) 0.0810 (2.35) 730;1883 146,364.5535 (0.33) 76581 1
test_base_units[True-angstrom/minute] 6.5817 (3.02) 42.8036 (4.77) 6.8356 (2.99) 0.4605 (2.18) 6.7921 (2.99) 0.0829 (2.41) 1093;2453 146,292.7516 (0.33) 81573 1
test_getattr[True-millisecond] 6.5994 (3.03) 65.7300 (7.32) 6.8756 (3.01) 0.4869 (2.31) 6.8285 (3.01) 0.0903 (2.62) 880;3249 145,442.5528 (0.33) 75653 1
test_base_units[False-kilometer/second] 6.6003 (3.03) 17.4241 (1.94) 6.8009 (2.98) 0.4087 (1.93) 6.7633 (2.98) 0.0671 (1.95) 57;209 147,039.4055 (0.34) 7694 1
test_getattr[False-kilometer] 6.6152 (3.04) 17.6309 (1.96) 6.8447 (2.99) 0.4027 (1.91) 6.8070 (3.00) 0.0857 (2.49) 76;218 146,098.9990 (0.33) 8873 1
test_finding_meter_getattr 6.6608 (3.06) 23.8093 (2.65) 6.9133 (3.02) 0.4033 (1.91) 6.8750 (3.03) 0.0782 (2.27) 546;1545 144,649.0957 (0.33) 51872 1
test_base_units[angstrom/minute] 6.8042 (3.13) 17.7370 (1.98) 7.0504 (3.08) 0.4217 (2.00) 7.0138 (3.09) 0.0885 (2.57) 45;87 141,835.9257 (0.32) 5445 1
test_base_units[meter/second] 6.8285 (3.14) 17.7920 (1.98) 7.0295 (3.08) 0.4247 (2.01) 6.9914 (3.08) 0.0754 (2.19) 43;102 142,257.4829 (0.33) 5382 1
test_op1[neg-short_array_kilometer] 6.9542 (3.20) 24.5385 (2.73) 7.2462 (3.17) 0.4771 (2.26) 7.1917 (3.17) 0.0866 (2.51) 791;1782 138,003.7225 (0.32) 37996 1
test_op1[neg-short_array_meter] 7.0268 (3.23) 60.8731 (6.78) 7.3994 (3.24) 0.6582 (3.12) 7.2541 (3.19) 0.1583 (4.59) 375;5619 135,146.9797 (0.31) 25430 1
test_op1[neg-mid_array_meter] 7.7449 (3.56) 32.5693 (3.63) 8.0742 (3.53) 0.5235 (2.48) 8.0215 (3.53) 0.1099 (3.19) 452;1121 123,851.0591 (0.28) 36123 1
test_op1[neg-mid_array_kilometer] 7.7784 (3.57) 58.6249 (6.53) 8.0797 (3.53) 0.5523 (2.62) 8.0271 (3.54) 0.0941 (2.73) 475;1408 123,766.5798 (0.28) 37048 1
test_base_units[True-angstrom] 8.1109 (3.73) 32.6131 (3.63) 8.4428 (3.69) 0.4624 (2.19) 8.3968 (3.70) 0.1062 (3.08) 793;1961 118,444.2240 (0.27) 68799 1
test_base_units[False-meter] 8.1509 (3.74) 28.2573 (3.15) 8.4806 (3.71) 0.4814 (2.28) 8.4303 (3.71) 0.1080 (3.14) 490;804 117,916.4988 (0.27) 31455 1
test_base_units[False-angstrom] 8.1798 (3.76) 21.3217 (2.38) 8.5047 (3.72) 0.4390 (2.08) 8.4657 (3.73) 0.0978 (2.84) 290;764 117,581.6983 (0.27) 32554 1
test_op2[eq-keys3] 8.2217 (3.78) 32.2787 (3.60) 8.5471 (3.74) 0.5107 (2.42) 8.4890 (3.74) 0.0969 (2.81) 545;1002 116,998.7791 (0.27) 27929 1
test_base_units[True-meter] 8.2254 (3.78) 39.6911 (4.42) 8.5493 (3.74) 0.4601 (2.18) 8.5076 (3.75) 0.0978 (2.84) 607;1628 116,968.2983 (0.27) 68409 1
test_base_units[angstrom] 8.2552 (3.79) 19.0772 (2.13) 8.5431 (3.74) 0.4461 (2.11) 8.5020 (3.74) 0.1062 (3.08) 77;128 117,053.6784 (0.27) 8038 1
test_op2[eq-keys0] 8.2990 (3.81) 18.2698 (2.04) 8.6058 (3.77) 0.4880 (2.31) 8.5523 (3.77) 0.1024 (2.97) 181;387 116,201.1528 (0.27) 12645 1
test_base_units[meter] 8.3493 (3.84) 19.1964 (2.14) 8.6386 (3.78) 0.4310 (2.04) 8.5961 (3.79) 0.0931 (2.70) 343;716 115,759.5233 (0.26) 37579 1
test_op2[eq-keys4] 8.9156 (4.10) 20.3541 (2.27) 9.2256 (4.04) 0.4990 (2.36) 9.1689 (4.04) 0.0987 (2.86) 527;899 108,394.5328 (0.25) 26974 1
test_op2[eq-keys7] 8.9230 (4.10) 41.2073 (4.59) 9.2456 (4.05) 0.5432 (2.57) 9.1875 (4.05) 0.1062 (3.08) 569;1015 108,159.6838 (0.25) 27158 1
test_convert_from_uc[True-key0] 9.5600 (4.39) 42.3677 (4.72) 9.9508 (4.35) 0.4894 (2.32) 9.9000 (4.36) 0.1341 (3.89) 673;1111 100,494.0985 (0.23) 58426 1
test_convert_from_uc[False-key0] 9.6820 (4.45) 19.3622 (2.16) 9.9978 (4.37) 0.4764 (2.26) 9.9484 (4.38) 0.1024 (2.97) 128;303 100,021.7057 (0.23) 12643 1
test_to_units_container_registry[True-kilometer/second] 12.9491 (5.95) 30.3769 (3.38) 13.4028 (5.86) 0.5821 (2.76) 13.3254 (5.87) 0.1499 (4.35) 781;1570 74,611.0852 (0.17) 45467 1
test_to_units_container_registry[False-angstrom/minute] 12.9705 (5.96) 35.1518 (3.92) 13.4926 (5.90) 0.6196 (2.93) 13.3999 (5.90) 0.1788 (5.19) 609;1281 74,114.7235 (0.17) 32230 1
test_to_units_container_detached[True-angstrom/minute] 12.9994 (5.97) 39.9221 (4.45) 13.4600 (5.89) 0.5889 (2.79) 13.3868 (5.90) 0.1518 (4.41) 706;1570 74,294.1445 (0.17) 45606 1
test_to_units_container_registry[True-angstrom/minute] 13.0944 (6.02) 47.7284 (5.32) 13.5931 (5.95) 0.6185 (2.93) 13.5200 (5.95) 0.1676 (4.86) 756;1075 73,566.7280 (0.17) 44636 1
test_to_units_container_detached[False-kilometer/second] 13.1205 (6.03) 47.4909 (5.29) 13.6526 (5.97) 0.9227 (4.37) 13.5154 (5.95) 0.1455 (4.22) 332;682 73,246.2301 (0.17) 9161 1
test_to_units_container_detached[True-kilometer/second] 13.1615 (6.05) 43.3419 (4.83) 13.6774 (5.98) 0.6381 (3.02) 13.6076 (5.99) 0.1490 (4.32) 752;1219 73,113.0938 (0.17) 44716 1
test_to_units_container_registry[False-kilometer/second] 13.2425 (6.08) 41.9971 (4.68) 13.7024 (5.99) 0.6334 (3.00) 13.6299 (6.00) 0.1648 (4.78) 135;209 72,979.7546 (0.17) 8909 1
test_to_units_container_detached[False-angstrom/minute] 13.2527 (6.09) 33.8722 (3.77) 13.7256 (6.01) 0.5887 (2.79) 13.6485 (6.01) 0.1714 (4.97) 438;660 72,856.3531 (0.17) 30935 1
test_convert_from_uc[True-key1] 13.2797 (6.10) 56.2379 (6.27) 13.6813 (5.99) 0.6461 (3.06) 13.6076 (5.99) 0.1257 (3.65) 972;1498 73,092.2394 (0.17) 51085 1
test_convert_from_uc[False-key1] 13.3412 (6.13) 22.7205 (2.53) 13.7114 (6.00) 0.5204 (2.46) 13.6467 (6.01) 0.1322 (3.84) 121;220 72,931.9082 (0.17) 8501 1
test_wrapper[float_meter] 13.4502 (6.18) 32.0803 (3.57) 13.9607 (6.11) 0.7709 (3.65) 13.8385 (6.09) 0.1844 (5.35) 521;746 71,629.5503 (0.16) 13521 1
test_wrapper[float_kilometer] 13.5088 (6.21) 34.7253 (3.87) 13.9287 (6.09) 0.6160 (2.92) 13.8516 (6.10) 0.1397 (4.05) 224;383 71,794.3909 (0.16) 11222 1
test_wrapper[int_kilometer] 13.5880 (6.24) 23.5271 (2.62) 14.0292 (6.14) 0.5795 (2.74) 13.9605 (6.15) 0.1444 (4.19) 97;162 71,279.8597 (0.16) 6580 1
test_wrapper[complex_kilometer] 13.5908 (6.24) 37.3852 (4.17) 14.0760 (6.16) 0.7401 (3.50) 13.9670 (6.15) 0.1499 (4.35) 408;634 71,042.7121 (0.16) 11247 1
test_wrapper[complex_meter] 13.6467 (6.27) 36.3197 (4.05) 14.2318 (6.23) 0.7604 (3.60) 14.0797 (6.20) 0.1751 (5.08) 926;1325 70,265.2393 (0.16) 13390 1
test_wrapper[int_meter] 13.6476 (6.27) 30.7681 (3.43) 14.1395 (6.19) 0.6286 (2.98) 14.0509 (6.19) 0.1695 (4.92) 240;389 70,723.7282 (0.16) 11788 1
test_parse_unit_name[False-second] 14.7922 (6.80) 44.4707 (4.95) 15.3340 (6.71) 0.7231 (3.42) 15.2364 (6.71) 0.1434 (4.16) 1310;1681 65,214.3974 (0.15) 41562 1
test_parse_unit_name[True-second] 14.8602 (6.83) 44.9335 (5.01) 15.2929 (6.69) 0.6458 (3.06) 15.2150 (6.70) 0.1397 (4.05) 997;1399 65,389.6612 (0.15) 53333 1
test_op2[sub-keys11] 14.9757 (6.88) 26.5501 (2.96) 15.4853 (6.77) 0.6106 (2.89) 15.4059 (6.79) 0.1611 (4.68) 254;394 64,577.5155 (0.15) 15664 1
test_op2[sub-keys9] 15.0511 (6.92) 25.7753 (2.87) 15.5035 (6.78) 0.5993 (2.84) 15.4106 (6.79) 0.1648 (4.78) 274;773 64,501.5290 (0.15) 15825 1
test_op2[sub-keys4] 15.0558 (6.92) 57.6545 (6.42) 15.5523 (6.80) 0.7137 (3.38) 15.4637 (6.81) 0.1593 (4.62) 428;706 64,299.0172 (0.15) 20004 1
test_op2[sub-keys21] 15.0586 (6.92) 29.0582 (3.24) 15.5679 (6.81) 0.6299 (2.98) 15.4842 (6.82) 0.1751 (5.08) 262;518 64,234.6438 (0.15) 16251 1
test_op2[sub-keys7] 15.0641 (6.92) 32.5982 (3.63) 15.5156 (6.79) 0.6220 (2.94) 15.4348 (6.80) 0.1425 (4.14) 331;524 64,451.4533 (0.15) 16395 1
test_op2[sub-keys26] 15.0669 (6.92) 260.2981 (29.00) 15.7588 (6.89) 1.9356 (9.16) 15.5121 (6.83) 0.2384 (6.92) 320;3423 63,456.4427 (0.15) 19709 1
test_op2[sub-keys14] 15.0735 (6.93) 25.1196 (2.80) 15.5108 (6.79) 0.6007 (2.84) 15.4357 (6.80) 0.1462 (4.24) 346;586 64,471.2287 (0.15) 22021 1
test_op2[sub-keys35] 15.0874 (6.93) 26.5520 (2.96) 15.5618 (6.81) 0.6264 (2.97) 15.4814 (6.82) 0.1490 (4.32) 265;449 64,259.7674 (0.15) 16074 1
test_op2[sub-keys28] 15.0949 (6.94) 45.0127 (5.02) 15.6097 (6.83) 0.7871 (3.73) 15.4870 (6.82) 0.1816 (5.27) 689;1018 64,062.6978 (0.15) 21269 1
test_op2[sub-keys19] 15.0958 (6.94) 33.1504 (3.69) 15.5744 (6.81) 0.6726 (3.18) 15.4832 (6.82) 0.1621 (4.70) 321;532 64,207.9596 (0.15) 16475 1
test_op2[add-keys0] 15.1023 (6.94) 48.6318 (5.42) 15.5956 (6.82) 0.7219 (3.42) 15.4953 (6.82) 0.1583 (4.59) 437;851 64,120.7761 (0.15) 19582 1
test_op2[add-keys7] 15.1061 (6.94) 36.8282 (4.10) 15.6182 (6.83) 0.6430 (3.04) 15.5326 (6.84) 0.1816 (5.27) 324;550 64,027.7221 (0.15) 15945 1
test_op2[sub-keys12] 15.1079 (6.94) 56.1187 (6.25) 15.5895 (6.82) 0.6836 (3.24) 15.5047 (6.83) 0.1711 (4.97) 318;607 64,145.8592 (0.15) 16923 1
test_op2[sub-keys2] 15.1079 (6.94) 33.8517 (3.77) 15.5534 (6.80) 0.6686 (3.17) 15.4590 (6.81) 0.1527 (4.43) 526;696 64,294.7852 (0.15) 20137 1
test_op2[sub-keys16] 15.1191 (6.95) 118.7809 (13.23) 15.6432 (6.84) 1.0398 (4.92) 15.5503 (6.85) 0.1574 (4.57) 380;678 63,925.4648 (0.15) 19801 1
test_op2[sub-keys24] 15.1237 (6.95) 25.3646 (2.83) 15.5511 (6.80) 0.6123 (2.90) 15.4683 (6.81) 0.1546 (4.49) 323;630 64,304.1654 (0.15) 20038 1
test_op2[sub-keys0] 15.1256 (6.95) 47.4416 (5.29) 15.6152 (6.83) 0.7159 (3.39) 15.5242 (6.84) 0.1602 (4.65) 467;679 64,040.3166 (0.15) 21563 1
test_op2[add-keys28] 15.1563 (6.96) 32.9548 (3.67) 15.6400 (6.84) 0.6309 (2.99) 15.5540 (6.85) 0.1574 (4.57) 414;829 63,938.5632 (0.15) 21707 1
test_op2[sub-keys31] 15.1573 (6.96) 25.9280 (2.89) 15.5832 (6.82) 0.6130 (2.90) 15.4991 (6.83) 0.1462 (4.24) 255;600 64,171.8567 (0.15) 15824 1
test_op2[add-keys2] 15.1787 (6.97) 43.0541 (4.80) 15.6610 (6.85) 0.6650 (3.15) 15.5754 (6.86) 0.1593 (4.62) 378;709 63,852.9705 (0.15) 19167 1
test_op2[add-keys4] 15.1824 (6.98) 25.9429 (2.89) 15.6871 (6.86) 0.6112 (2.89) 15.6006 (6.87) 0.1926 (5.59) 315;597 63,746.6975 (0.15) 19287 1
test_op2[sub-keys23] 15.1927 (6.98) 123.3015 (13.74) 15.7357 (6.88) 1.1462 (5.43) 15.6397 (6.89) 0.1611 (4.68) 257;499 63,549.6680 (0.15) 15798 1
test_op2[add-keys21] 15.1992 (6.98) 25.1494 (2.80) 15.6413 (6.84) 0.6000 (2.84) 15.5624 (6.85) 0.1453 (4.22) 261;448 63,933.3828 (0.15) 16102 1
test_op2[add-keys9] 15.2299 (7.00) 37.9775 (4.23) 15.7215 (6.88) 0.7070 (3.35) 15.6267 (6.88) 0.1425 (4.14) 352;667 63,607.3260 (0.15) 15488 1
test_op2[add-keys26] 15.2327 (7.00) 47.4369 (5.29) 15.7354 (6.88) 0.6943 (3.29) 15.6481 (6.89) 0.1709 (4.96) 388;629 63,550.7748 (0.15) 20024 1
test_op2[add-keys35] 15.2476 (7.01) 33.0601 (3.68) 15.7416 (6.89) 0.6327 (3.00) 15.6555 (6.89) 0.1565 (4.54) 328;568 63,525.7842 (0.15) 16361 1
test_op2[add-keys31] 15.2523 (7.01) 24.8579 (2.77) 15.7025 (6.87) 0.5866 (2.78) 15.6248 (6.88) 0.1416 (4.11) 253;536 63,684.1699 (0.15) 15595 1
test_op2[add-keys19] 15.2672 (7.01) 39.3940 (4.39) 15.7121 (6.87) 0.6359 (3.01) 15.6313 (6.88) 0.1388 (4.03) 259;491 63,645.1440 (0.15) 16167 1
test_op2[add-keys11] 15.3072 (7.03) 39.9286 (4.45) 15.8340 (6.93) 0.6674 (3.16) 15.7524 (6.94) 0.1648 (4.78) 265;420 63,155.1071 (0.14) 15659 1
test_op2[add-keys12] 15.3100 (7.03) 38.5391 (4.29) 15.7837 (6.91) 0.7387 (3.50) 15.6732 (6.90) 0.1481 (4.30) 686;1006 63,356.5499 (0.14) 20320 1
test_op2[add-keys16] 15.3324 (7.04) 29.7716 (3.32) 15.8029 (6.91) 0.6488 (3.07) 15.7142 (6.92) 0.1518 (4.41) 390;576 63,279.4828 (0.14) 18024 1
test_op2[add-keys33] 15.3482 (7.05) 48.4679 (5.40) 15.8531 (6.94) 0.6926 (3.28) 15.7505 (6.94) 0.1593 (4.62) 372;824 63,079.2846 (0.14) 15202 1
test_op2[add-keys23] 15.3603 (7.06) 34.1106 (3.80) 15.8470 (6.93) 0.6874 (3.25) 15.7561 (6.94) 0.1667 (4.84) 317;488 63,103.4182 (0.14) 15562 1
test_op2[sub-keys33] 15.4776 (7.11) 86.7108 (9.66) 16.0675 (7.03) 0.9973 (4.72) 15.9526 (7.03) 0.2058 (5.97) 366;572 62,237.3469 (0.14) 15118 1
test_op2[add-keys24] 15.4963 (7.12) 43.9659 (4.90) 16.0335 (7.01) 0.6474 (3.06) 15.9461 (7.02) 0.2068 (6.00) 338;461 62,369.3477 (0.14) 20420 1
test_op2[add-keys14] 15.7086 (7.22) 37.8247 (4.21) 16.2069 (7.09) 0.6355 (3.01) 16.1240 (7.10) 0.1583 (4.59) 404;730 61,702.0189 (0.14) 20872 1
test_parse_unit_name[True-angstrom] 16.2832 (7.48) 49.4914 (5.51) 16.7242 (7.32) 0.6579 (3.11) 16.6409 (7.33) 0.1378 (4.00) 927;1335 59,793.5481 (0.14) 48612 1
test_parse_unit_name[True-meter] 16.3112 (7.49) 69.8240 (7.78) 16.8109 (7.35) 0.7684 (3.64) 16.6679 (7.34) 0.1453 (4.22) 3352;3590 59,485.3079 (0.14) 48595 1
test_parse_unit_name[False-meter] 16.3466 (7.51) 660.2118 (73.56) 16.8781 (7.38) 3.3377 (15.80) 16.7657 (7.38) 0.1369 (3.97) 671;1402 59,248.5163 (0.14) 38823 1
test_parse_unit_name[False-minute] 16.3568 (7.52) 43.1128 (4.80) 16.8372 (7.37) 0.7850 (3.72) 16.7144 (7.36) 0.1322 (3.84) 1802;2149 59,392.3890 (0.14) 39276 1
test_parse_unit_name[False-angstrom] 16.3829 (7.53) 42.9330 (4.78) 16.8226 (7.36) 0.7244 (3.43) 16.7219 (7.36) 0.1388 (4.03) 1101;1417 59,443.8801 (0.14) 38677 1
test_op2[sub-keys3] 16.4025 (7.54) 58.4247 (6.51) 16.9002 (7.39) 0.7449 (3.53) 16.8076 (7.40) 0.1546 (4.49) 244;551 59,170.8071 (0.14) 14024 1
test_parse_unit_name[True-minute] 16.4313 (7.55) 55.3243 (6.16) 16.8822 (7.39) 0.6732 (3.19) 16.7964 (7.40) 0.1276 (3.70) 1011;1400 59,234.1459 (0.14) 49151 1
test_op2[add0-keys0] 16.4919 (7.58) 75.0199 (8.36) 17.0122 (7.44) 0.9063 (4.29) 16.9016 (7.44) 0.1779 (5.16) 420;689 58,781.2995 (0.13) 15453 1
test_op2[sub-keys0] 16.5952 (7.62) 41.7409 (4.65) 17.0347 (7.45) 0.6695 (3.17) 16.9454 (7.46) 0.1444 (4.19) 293;638 58,703.8460 (0.13) 16694 1
test_op2[add0-keys3] 16.6232 (7.64) 38.7887 (4.32) 17.1129 (7.49) 0.7311 (3.46) 17.0153 (7.49) 0.2030 (5.89) 300;404 58,435.5495 (0.13) 13791 1
test_op2[eq-keys27] 17.1922 (7.90) 56.0200 (6.24) 17.7454 (7.76) 0.8106 (3.84) 17.6309 (7.76) 0.2198 (6.38) 241;363 56,352.6564 (0.13) 9760 1
test_op2[eq-keys29] 17.2323 (7.92) 66.2236 (7.38) 17.8315 (7.80) 0.8593 (4.07) 17.7268 (7.81) 0.2021 (5.86) 223;356 56,080.4595 (0.13) 10023 1
test_op2[eq-keys34] 17.2425 (7.92) 28.5143 (3.18) 17.7759 (7.78) 0.6841 (3.24) 17.6765 (7.79) 0.2040 (5.92) 196;332 56,255.9413 (0.13) 9965 1
test_op2[eq-keys20] 17.2500 (7.93) 43.1240 (4.80) 17.8320 (7.80) 0.7535 (3.57) 17.7333 (7.81) 0.2552 (7.41) 232;272 56,078.8183 (0.13) 9667 1
test_op2[eq-keys22] 17.2630 (7.93) 35.6082 (3.97) 17.8663 (7.82) 0.7853 (3.72) 17.7426 (7.81) 0.2012 (5.84) 344;431 55,971.1793 (0.13) 9946 1
test_op2[eq-keys3] 17.3012 (7.95) 35.1947 (3.92) 17.9275 (7.84) 0.8518 (4.03) 17.6923 (7.79) 0.2095 (6.08) 1276;1334 55,780.3540 (0.13) 9997 1
test_op2[eq-keys25] 17.3077 (7.95) 39.4201 (4.39) 17.8563 (7.81) 0.7546 (3.57) 17.7426 (7.81) 0.1732 (5.03) 241;436 56,002.7714 (0.13) 9445 1
test_op2[eq-keys13] 17.3142 (7.96) 38.9433 (4.34) 17.8657 (7.82) 0.7799 (3.69) 17.6886 (7.79) 0.1891 (5.49) 886;978 55,973.2543 (0.13) 9778 1
test_op2[eq-keys8] 17.3822 (7.99) 51.5375 (5.74) 18.0002 (7.88) 0.9575 (4.53) 17.8078 (7.84) 0.2002 (5.81) 753;977 55,555.0848 (0.13) 10097 1
test_op2[eq-keys15] 17.4157 (8.00) 27.3362 (3.05) 17.9220 (7.84) 0.6687 (3.17) 17.8274 (7.85) 0.1583 (4.59) 189;386 55,797.2955 (0.13) 10008 1
test_op2[eq-keys17] 17.4278 (8.01) 43.7340 (4.87) 17.9403 (7.85) 0.7245 (3.43) 17.8432 (7.86) 0.1648 (4.78) 192;400 55,740.3516 (0.13) 10248 1
test_op2[eq-keys5] 17.4316 (8.01) 39.3698 (4.39) 17.9919 (7.87) 0.7796 (3.69) 17.8693 (7.87) 0.1714 (4.97) 338;566 55,580.4957 (0.13) 10092 1
test_op2[eq-keys10] 17.4390 (8.01) 55.4025 (6.17) 18.0839 (7.91) 1.0573 (5.01) 17.8907 (7.88) 0.1909 (5.54) 510;641 55,297.9429 (0.13) 9356 1
test_op2[eq-keys18] 17.4455 (8.02) 61.6768 (6.87) 17.9336 (7.85) 0.8555 (4.05) 17.8199 (7.85) 0.1686 (4.89) 246;395 55,761.3248 (0.13) 10464 1
test_op2[eq-keys32] 17.4493 (8.02) 39.1454 (4.36) 18.0059 (7.88) 0.8202 (3.88) 17.8777 (7.87) 0.1853 (5.38) 258;411 55,537.2970 (0.13) 7797 1
test_op2[eq-keys1] 17.5405 (8.06) 39.4406 (4.39) 18.0785 (7.91) 0.7805 (3.70) 17.9647 (7.91) 0.2021 (5.86) 274;425 55,314.1816 (0.13) 9388 1
test_op2[sub-keys4] 17.6439 (8.11) 48.6383 (5.42) 18.2659 (7.99) 0.9252 (4.38) 18.1030 (7.97) 0.2179 (6.32) 606;883 54,746.8659 (0.13) 16573 1
test_parse_unit_name[False-kilometer] 17.6439 (8.11) 52.2733 (5.82) 18.1183 (7.93) 0.6743 (3.19) 18.0257 (7.94) 0.1350 (3.92) 818;1109 55,192.7555 (0.13) 35952 1
test_parse_unit_name[True-kilometer] 17.6495 (8.11) 64.6971 (7.21) 18.1221 (7.93) 0.8134 (3.85) 18.0015 (7.93) 0.1406 (4.08) 1696;1976 55,181.3892 (0.13) 45084 1
test_op2[mul-keys9] 17.7072 (8.14) 66.8243 (7.45) 18.2945 (8.00) 0.8480 (4.01) 18.1431 (7.99) 0.1760 (5.11) 1474;1760 54,661.1702 (0.12) 24914 1
test_op2[mul-keys16] 17.7082 (8.14) 45.9179 (5.12) 18.2388 (7.98) 0.7349 (3.48) 18.1217 (7.98) 0.1872 (5.43) 613;1037 54,828.1448 (0.13) 24116 1
test_op2[eq-keys6] 17.7212 (8.14) 64.0061 (7.13) 18.5992 (8.14) 1.0214 (4.84) 18.2455 (8.04) 1.1073 (32.14) 454;197 53,765.6641 (0.12) 10127 1
test_op2[mul-keys7] 17.7342 (8.15) 28.4743 (3.17) 18.3010 (8.01) 0.6660 (3.15) 18.2064 (8.02) 0.1770 (5.14) 459;877 54,641.9073 (0.12) 24272 1
test_op2[sub-keys7] 17.7575 (8.16) 52.7380 (5.88) 18.3983 (8.05) 0.7508 (3.55) 18.2921 (8.06) 0.2151 (6.24) 258;448 54,352.7907 (0.12) 13727 1
test_parse_unit_name[True-millisecond] 17.7613 (8.16) 86.4984 (9.64) 18.2460 (7.98) 0.8968 (4.25) 18.1133 (7.98) 0.1406 (4.08) 2025;2411 54,806.6642 (0.13) 44491 1
test_op2[mul-keys11] 17.7771 (8.17) 65.4655 (7.29) 18.4204 (8.06) 0.8660 (4.10) 18.2912 (8.06) 0.1816 (5.27) 842;1161 54,287.6297 (0.12) 23610 1
test_op2[mul-keys4] 17.7855 (8.17) 79.6169 (8.87) 18.3926 (8.05) 0.8609 (4.08) 18.2716 (8.05) 0.2049 (5.95) 833;1053 54,369.5822 (0.12) 24420 1
test_parse_unit_name[False-millisecond] 17.8032 (8.18) 51.0616 (5.69) 18.3167 (8.01) 0.8076 (3.82) 18.1589 (8.00) 0.1444 (4.19) 2491;2715 54,594.9062 (0.12) 35301 1
test_op2[mul-keys12] 17.8088 (8.18) 63.6512 (7.09) 18.3702 (8.04) 0.7349 (3.48) 18.2735 (8.05) 0.1993 (5.78) 499;731 54,435.9263 (0.12) 24341 1
test_op2[mul-keys2] 17.8199 (8.19) 221.1109 (24.64) 18.3541 (8.03) 1.4958 (7.08) 18.2400 (8.03) 0.1816 (5.27) 509;908 54,483.8026 (0.12) 24493 1
test_op2[mul-keys19] 17.8330 (8.19) 65.9926 (7.35) 18.5680 (8.12) 1.0549 (4.99) 18.3694 (8.09) 0.2636 (7.65) 1204;1759 53,856.0545 (0.12) 23637 1
test_op2[mul-keys21] 17.8451 (8.20) 62.7972 (7.00) 18.4722 (8.08) 0.8264 (3.91) 18.3620 (8.09) 0.2002 (5.81) 597;872 54,135.3711 (0.12) 24040 1
test_op2[mul-keys24] 17.8488 (8.20) 47.8150 (5.33) 18.5062 (8.10) 0.8843 (4.19) 18.3592 (8.09) 0.2524 (7.32) 1091;1207 54,035.9929 (0.12) 23891 1
test_op2[mul-keys31] 17.8553 (8.20) 52.7492 (5.88) 18.4718 (8.08) 0.7250 (3.43) 18.3666 (8.09) 0.1974 (5.73) 543;923 54,136.6141 (0.12) 23717 1
test_op2[mul-keys33] 17.8562 (8.20) 67.7463 (7.55) 18.5110 (8.10) 0.9098 (4.31) 18.3852 (8.10) 0.2328 (6.76) 710;975 54,021.8730 (0.12) 23905 1
test_op2[add0-keys4] 17.8628 (8.21) 48.0087 (5.35) 18.3636 (8.03) 0.7944 (3.76) 18.2455 (8.04) 0.1742 (5.05) 419;841 54,455.6420 (0.12) 16931 1
test_op2[mul-keys26] 17.9047 (8.23) 43.2236 (4.82) 18.5702 (8.12) 0.9047 (4.28) 18.4225 (8.11) 0.1881 (5.46) 1262;1526 53,849.7718 (0.12) 24865 1
test_op2[mul-keys0] 17.9447 (8.24) 92.0612 (10.26) 18.5709 (8.12) 0.9724 (4.60) 18.4365 (8.12) 0.2095 (6.08) 840;1109 53,847.7410 (0.12) 23797 1
test_op2[mul-keys30] 17.9671 (8.26) 41.4262 (4.62) 18.5835 (8.13) 0.7239 (3.43) 18.4830 (8.14) 0.1984 (5.76) 575;919 53,811.1651 (0.12) 24588 1
test_op2[mul-keys35] 17.9689 (8.26) 59.2712 (6.60) 18.6570 (8.16) 0.8042 (3.81) 18.5473 (8.17) 0.2012 (5.84) 663;973 53,599.2142 (0.12) 23829 1
test_op2[mul-keys8] 17.9857 (8.26) 59.0943 (6.58) 18.6075 (8.14) 0.7430 (3.52) 18.5054 (8.15) 0.2598 (7.54) 525;682 53,741.7336 (0.12) 24357 1
test_op2[mul-keys23] 17.9932 (8.27) 94.9409 (10.58) 18.5795 (8.13) 0.8778 (4.16) 18.4765 (8.14) 0.1881 (5.46) 543;760 53,822.8178 (0.12) 24146 1
test_op2[eq-keys30] 17.9959 (8.27) 35.7674 (3.99) 18.5205 (8.10) 0.7092 (3.36) 18.4160 (8.11) 0.1863 (5.41) 245;396 53,994.2810 (0.12) 9848 1
test_op2[mul-keys5] 18.0015 (8.27) 42.7449 (4.76) 18.6201 (8.15) 0.7009 (3.32) 18.5231 (8.16) 0.1797 (5.22) 438;738 53,705.3179 (0.12) 22743 1
test_op2[mul-keys25] 18.0705 (8.30) 74.8336 (8.34) 18.7098 (8.19) 1.0577 (5.01) 18.5333 (8.16) 0.2282 (6.62) 1116;1593 53,447.9207 (0.12) 23383 1
test_op2[add0-keys7] 18.0714 (8.30) 38.9917 (4.34) 18.7232 (8.19) 0.8165 (3.87) 18.6013 (8.19) 0.1732 (5.03) 358;758 53,409.6715 (0.12) 13174 1
test_op2[mul-keys34] 18.0881 (8.31) 41.8033 (4.66) 18.6985 (8.18) 0.7055 (3.34) 18.6022 (8.19) 0.1993 (5.78) 440;697 53,480.1424 (0.12) 19810 1
test_op2[mul-keys18] 18.1040 (8.32) 43.8858 (4.89) 18.7460 (8.20) 0.9188 (4.35) 18.5892 (8.19) 0.2068 (6.00) 1219;1375 53,344.8509 (0.12) 23335 1
test_op2[mul-keys1] 18.1571 (8.34) 35.9640 (4.01) 18.7399 (8.20) 0.7066 (3.35) 18.6330 (8.21) 0.2123 (6.16) 583;789 53,361.9372 (0.12) 24721 1
test_op2[mul-keys28] 18.1617 (8.34) 44.1140 (4.92) 18.8511 (8.25) 0.9030 (4.28) 18.6963 (8.23) 0.2123 (6.16) 1155;1462 53,047.3369 (0.12) 24676 1
test_op2[mul-keys3] 18.1617 (8.34) 40.2359 (4.48) 18.8748 (8.26) 0.8241 (3.90) 18.7457 (8.26) 0.1993 (5.78) 865;1093 52,980.8254 (0.12) 23900 1
test_op2[mul-keys10] 18.1654 (8.35) 65.9488 (7.35) 18.7556 (8.21) 0.8186 (3.88) 18.6460 (8.21) 0.2049 (5.95) 564;816 53,317.5073 (0.12) 23721 1
test_op2[mul-keys20] 18.1710 (8.35) 43.2478 (4.82) 18.8422 (8.24) 0.8562 (4.05) 18.7112 (8.24) 0.2212 (6.42) 1022;1181 53,072.3270 (0.12) 25192 1
test_op2[mul-keys22] 18.1729 (8.35) 58.0642 (6.47) 18.7631 (8.21) 0.7846 (3.71) 18.6404 (8.21) 0.2123 (6.16) 575;1042 53,296.1705 (0.12) 23299 1
test_op2[mul-keys32] 18.2325 (8.38) 52.5536 (5.86) 18.9186 (8.28) 0.7382 (3.50) 18.8220 (8.29) 0.1965 (5.70) 561;790 52,858.0777 (0.12) 24061 1
test_op2[mul-keys15] 18.2437 (8.38) 79.9252 (8.91) 18.8264 (8.24) 0.8225 (3.89) 18.7112 (8.24) 0.1807 (5.24) 617;1014 53,116.8039 (0.12) 24199 1
test_op2[mul-keys17] 18.2660 (8.39) 71.3356 (7.95) 18.9485 (8.29) 1.0210 (4.83) 18.7783 (8.27) 0.2235 (6.49) 1234;1576 52,774.6891 (0.12) 24505 1
test_op2[mul-keys6] 18.3275 (8.42) 51.9594 (5.79) 18.9541 (8.29) 0.7972 (3.77) 18.8332 (8.29) 0.1946 (5.65) 572;826 52,758.9418 (0.12) 18377 1
test_op2[mul-keys29] 18.3620 (8.44) 59.7890 (6.66) 18.9647 (8.30) 0.8558 (4.05) 18.8500 (8.30) 0.1891 (5.49) 616;966 52,729.5446 (0.12) 24740 1
test_op2[mul-keys13] 18.3964 (8.45) 83.2984 (9.28) 19.0977 (8.36) 0.9773 (4.63) 18.8788 (8.31) 0.2058 (5.97) 2234;2720 52,362.2626 (0.12) 23639 1
test_op2[mul-keys14] 18.4104 (8.46) 45.9654 (5.12) 19.0642 (8.34) 0.7549 (3.57) 18.9580 (8.35) 0.2012 (5.84) 603;875 52,454.2440 (0.12) 23587 1
test_op2[mul-keys27] 18.4420 (8.47) 70.8541 (7.89) 19.2521 (8.42) 1.0556 (5.00) 19.0577 (8.39) 0.2077 (6.03) 1637;1999 51,942.3340 (0.12) 23624 1
test_parse_unit_name[False-ms] 18.6143 (8.55) 61.3937 (6.84) 19.1276 (8.37) 0.7902 (3.74) 19.0185 (8.38) 0.1416 (4.11) 996;1301 52,280.4084 (0.12) 33889 1
test_parse_unit_name[True-ms] 18.6199 (8.55) 54.0102 (6.02) 19.1711 (8.39) 0.7813 (3.70) 19.0586 (8.39) 0.1481 (4.30) 1284;1696 52,161.8688 (0.12) 42863 1
test_op2[truediv-keys16] 18.7298 (8.61) 77.3855 (8.62) 19.2863 (8.44) 0.8329 (3.94) 19.1778 (8.45) 0.1956 (5.68) 559;818 51,850.3212 (0.12) 23134 1
test_op2[truediv-keys21] 18.8518 (8.66) 36.5833 (4.08) 19.4267 (8.50) 0.7287 (3.45) 19.3128 (8.51) 0.1853 (5.38) 562;1009 51,475.4360 (0.12) 22791 1
test_op2[truediv-keys23] 18.9561 (8.71) 36.4417 (4.06) 19.5631 (8.56) 0.7261 (3.44) 19.4535 (8.57) 0.1956 (5.68) 601;872 51,116.6078 (0.12) 22724 1
test_op2[truediv-keys26] 18.9608 (8.71) 58.7292 (6.54) 19.5451 (8.55) 0.8483 (4.02) 19.4283 (8.56) 0.1853 (5.38) 611;957 51,163.7266 (0.12) 23081 1
test_op2[truediv-keys27] 19.0092 (8.73) 41.3628 (4.61) 19.6891 (8.61) 0.7180 (3.40) 19.5801 (8.62) 0.2030 (5.89) 526;900 50,789.4719 (0.12) 22818 1
test_op2[truediv-keys35] 19.0763 (8.76) 50.3073 (5.61) 19.6476 (8.60) 0.7238 (3.43) 19.5410 (8.61) 0.1965 (5.70) 463;860 50,896.8161 (0.12) 22647 1
test_op2[truediv-keys17] 19.0921 (8.77) 39.5123 (4.40) 19.7618 (8.65) 0.7762 (3.67) 19.6435 (8.65) 0.1993 (5.78) 659;864 50,602.6995 (0.12) 20885 1
test_op2[truediv-keys15] 19.1396 (8.79) 48.3384 (5.39) 19.7476 (8.64) 0.7489 (3.55) 19.6379 (8.65) 0.1993 (5.78) 563;864 50,638.9693 (0.12) 23367 1
test_op2[truediv-keys20] 19.2020 (8.82) 53.6321 (5.98) 19.8911 (8.70) 0.8031 (3.80) 19.7729 (8.71) 0.2384 (6.92) 649;775 50,273.7717 (0.11) 22903 1
test_op2[truediv-keys34] 19.2132 (8.83) 45.6050 (5.08) 19.7923 (8.66) 0.7418 (3.51) 19.6854 (8.67) 0.1853 (5.38) 504;807 50,524.6354 (0.12) 22570 1
test_op2[truediv-keys29] 19.2467 (8.84) 57.1534 (6.37) 19.9154 (8.71) 0.7485 (3.54) 19.8092 (8.72) 0.2030 (5.89) 547;773 50,212.5008 (0.11) 22943 1
test_op2[truediv-keys28] 19.2868 (8.86) 41.3684 (4.61) 19.8569 (8.69) 0.7966 (3.77) 19.7291 (8.69) 0.1835 (5.32) 668;961 50,360.2370 (0.12) 19424 1
test_op2[truediv-keys33] 19.3873 (8.91) 53.6386 (5.98) 20.0464 (8.77) 0.8978 (4.25) 19.9033 (8.77) 0.1984 (5.76) 886;1087 49,884.3906 (0.11) 22110 1
test_op2[truediv-keys9] 19.4032 (8.91) 42.3007 (4.71) 19.9769 (8.74) 0.7059 (3.34) 19.8781 (8.75) 0.1863 (5.41) 448;704 50,057.7979 (0.11) 21542 1
test_op2[truediv-keys2] 19.4097 (8.92) 30.0733 (3.35) 20.0017 (8.75) 0.7267 (3.44) 19.8949 (8.76) 0.2075 (6.02) 447;727 49,995.7586 (0.11) 21427 1
test_op2[truediv-keys14] 19.4451 (8.93) 66.0261 (7.36) 20.1214 (8.80) 0.8310 (3.93) 20.0067 (8.81) 0.2393 (6.95) 601;783 49,698.4322 (0.11) 22297 1
test_op2[truediv-keys0] 19.4842 (8.95) 43.2367 (4.82) 20.1104 (8.80) 0.8674 (4.11) 19.9564 (8.79) 0.2142 (6.22) 748;1498 49,725.4218 (0.11) 20140 1
test_op2[truediv-keys8] 19.4944 (8.96) 57.9981 (6.46) 20.2086 (8.84) 0.9033 (4.28) 20.0672 (8.84) 0.2440 (7.08) 833;1014 49,483.8605 (0.11) 21542 1
test_op2[truediv-keys11] 19.5270 (8.97) 57.6479 (6.42) 20.1385 (8.81) 0.7750 (3.67) 20.0290 (8.82) 0.2040 (5.92) 541;770 49,656.0314 (0.11) 21959 1
test_op2[mul-keys3] 19.5662 (8.99) 58.5439 (6.52) 20.2538 (8.86) 0.8336 (3.95) 20.1399 (8.87) 0.2105 (6.11) 440;699 49,373.4809 (0.11) 18567 1
test_op2[truediv-keys4] 19.5736 (8.99) 34.2317 (3.81) 20.1635 (8.82) 0.7311 (3.46) 20.0542 (8.83) 0.1956 (5.68) 454;740 49,594.5698 (0.11) 21239 1
test_op2[truediv-keys24] 19.5941 (9.00) 59.1502 (6.59) 20.3008 (8.88) 0.8383 (3.97) 20.1734 (8.88) 0.2068 (6.00) 633;952 49,259.1296 (0.11) 21171 1
test_op2[truediv-keys10] 19.6025 (9.01) 57.3937 (6.39) 20.2578 (8.86) 0.8480 (4.01) 20.1231 (8.86) 0.2682 (7.78) 840;945 49,363.6624 (0.11) 21645 1
test_op2[truediv-keys6] 19.6360 (9.02) 61.2708 (6.83) 20.1944 (8.84) 0.8002 (3.79) 20.0775 (8.84) 0.1770 (5.14) 618;927 49,518.5851 (0.11) 21389 1
test_op2[truediv-keys3] 19.6490 (9.03) 59.0272 (6.58) 20.1881 (8.83) 0.8731 (4.13) 20.0514 (8.83) 0.1704 (4.95) 717;1252 49,534.0883 (0.11) 21700 1
test_op2[truediv-keys1] 19.6882 (9.05) 58.8568 (6.56) 20.4254 (8.94) 0.8962 (4.24) 20.2982 (8.94) 0.2654 (7.70) 592;708 48,958.6175 (0.11) 21336 1
test_op2[truediv-keys7] 19.6900 (9.05) 54.7087 (6.10) 20.3096 (8.89) 0.8498 (4.02) 20.1846 (8.89) 0.1984 (5.76) 593;882 49,237.7590 (0.11) 21366 1
test_op2[truediv-keys19] 19.7245 (9.06) 44.0329 (4.91) 20.4606 (8.95) 0.8928 (4.23) 20.3140 (8.95) 0.2040 (5.92) 950;1161 48,874.4940 (0.11) 21493 1
test_op2[mul-keys1] 19.7617 (9.08) 46.3435 (5.16) 20.3540 (8.90) 0.7893 (3.74) 20.2311 (8.91) 0.1984 (5.76) 488;848 49,130.4818 (0.11) 18229 1
test_op2[truediv-keys32] 19.7617 (9.08) 48.4530 (5.40) 20.3895 (8.92) 0.7832 (3.71) 20.2777 (8.93) 0.2040 (5.92) 559;848 49,044.8337 (0.11) 21661 1
test_op2[truediv-keys12] 19.7869 (9.09) 67.2592 (7.49) 20.4754 (8.96) 0.7949 (3.76) 20.3596 (8.97) 0.1984 (5.76) 502;894 48,839.0694 (0.11) 21477 1
test_op2[truediv-keys31] 19.8130 (9.10) 30.2028 (3.37) 20.4488 (8.95) 0.7150 (3.39) 20.3429 (8.96) 0.2049 (5.95) 454;763 48,902.6372 (0.11) 21008 1
test_op2[truediv-keys30] 19.8726 (9.13) 68.2343 (7.60) 20.5300 (8.98) 0.7958 (3.77) 20.4202 (8.99) 0.1872 (5.43) 495;810 48,709.2048 (0.11) 21361 1
test_op2[mul-keys0] 19.9676 (9.17) 65.4534 (7.29) 20.7359 (9.07) 0.8394 (3.97) 20.6204 (9.08) 0.2207 (6.41) 461;657 48,225.6561 (0.11) 17433 1
test_op2[truediv-keys13] 19.9731 (9.18) 30.5055 (3.40) 20.5664 (9.00) 0.6935 (3.28) 20.4649 (9.01) 0.1919 (5.57) 448;685 48,622.9566 (0.11) 21146 1
test_op2[truediv-keys25] 19.9759 (9.18) 43.8178 (4.88) 20.6132 (9.02) 0.8875 (4.20) 20.4658 (9.01) 0.2151 (6.24) 854;1053 48,512.5741 (0.11) 20501 1
test_op2[mul-keys2] 20.0113 (9.19) 37.0843 (4.13) 20.6106 (9.02) 0.7402 (3.50) 20.5003 (9.03) 0.1825 (5.30) 389;655 48,518.7948 (0.11) 16157 1
test_op2[truediv-keys18] 20.0169 (9.20) 59.0254 (6.58) 20.6537 (9.04) 0.8283 (3.92) 20.5394 (9.05) 0.2012 (5.84) 534;816 48,417.5847 (0.11) 21025 1
test_op2[truediv-keys22] 20.0253 (9.20) 58.5830 (6.53) 20.6993 (9.06) 0.8405 (3.98) 20.5738 (9.06) 0.2356 (6.84) 551;910 48,310.7463 (0.11) 21529 1
test_op2[truediv-keys5] 20.0626 (9.22) 95.6003 (10.65) 20.6857 (9.05) 0.9300 (4.40) 20.5729 (9.06) 0.1900 (5.51) 537;782 48,342.4841 (0.11) 21536 1
test_wrapper_ret[float_kilometer] 20.4975 (9.42) 76.9962 (8.58) 21.1513 (9.25) 0.9816 (4.65) 21.0088 (9.25) 0.2421 (7.03) 256;558 47,278.4244 (0.11) 9808 1
test_wrapper_ret[int_kilometer] 20.5524 (9.44) 85.1583 (9.49) 21.3165 (9.33) 1.2830 (6.07) 21.1047 (9.29) 0.2468 (7.16) 491;668 46,912.0231 (0.11) 9557 1
test_wrapper_ret[int_meter] 20.5785 (9.45) 38.6303 (4.30) 21.3667 (9.35) 0.8095 (3.83) 21.2369 (9.35) 0.2515 (7.30) 270;467 46,801.7631 (0.11) 10057 1
test_op2[truediv-keys1] 20.6111 (9.47) 69.2792 (7.72) 21.4299 (9.38) 1.1486 (5.44) 21.1056 (9.30) 0.2263 (6.57) 2151;2442 46,663.7294 (0.11) 16190 1
test_wrapper_ret[float_meter] 20.6204 (9.47) 33.9719 (3.79) 21.2997 (9.32) 0.7568 (3.58) 21.1811 (9.33) 0.2368 (6.87) 249;462 46,948.9505 (0.11) 10881 1
test_wrapper_ret[complex_meter] 20.6614 (9.49) 39.0997 (4.36) 21.3516 (9.34) 0.8144 (3.86) 21.2174 (9.34) 0.2729 (7.92) 314;474 46,834.8161 (0.11) 11260 1
test_op2[truediv-keys2] 20.8020 (9.56) 55.9259 (6.23) 21.4843 (9.40) 0.8532 (4.04) 21.3413 (9.40) 0.2282 (6.62) 488;908 46,545.7153 (0.11) 17717 1
test_op2[truediv-keys3] 20.9343 (9.62) 69.5968 (7.75) 21.5928 (9.45) 0.8905 (4.22) 21.4586 (9.45) 0.2198 (6.38) 549;871 46,311.8121 (0.11) 17857 1
test_wrapper_ret[complex_kilometer] 20.9808 (9.64) 81.7068 (9.10) 21.6944 (9.49) 0.9986 (4.73) 21.5601 (9.50) 0.2580 (7.49) 225;492 46,094.7652 (0.11) 9781 1
test_op2[truediv-keys0] 21.1736 (9.73) 65.5018 (7.30) 22.3620 (9.78) 1.3620 (6.45) 21.8311 (9.61) 1.4799 (42.95) 985;402 44,718.7595 (0.10) 16539 1
test_op2[mul-keys7] 21.1922 (9.74) 41.6413 (4.64) 22.1301 (9.68) 1.2631 (5.98) 21.7818 (9.59) 0.2924 (8.49) 1248;1998 45,187.3011 (0.10) 17945 1
test_op2[mul-keys5] 21.2491 (9.76) 69.7682 (7.77) 21.9537 (9.60) 0.9286 (4.40) 21.7939 (9.60) 0.2654 (7.70) 593;898 45,550.4287 (0.10) 18194 1
test_op2[mul-keys4] 21.2584 (9.77) 46.2551 (5.15) 21.9033 (9.58) 0.8095 (3.83) 21.7669 (9.59) 0.2496 (7.24) 471;760 45,655.2578 (0.10) 18187 1
test_op2[truediv-keys4] 21.5136 (9.88) 46.6174 (5.19) 22.3490 (9.78) 0.9617 (4.55) 22.1087 (9.74) 0.2505 (7.27) 1667;1830 44,744.7807 (0.10) 17474 1
test_op2[truediv-keys5] 21.7622 (10.00) 95.3199 (10.62) 22.6836 (9.92) 1.3320 (6.31) 22.3368 (9.84) 0.3064 (8.89) 1193;2474 44,084.6461 (0.10) 17248 1
test_op2[mul-keys6] 21.7836 (10.01) 48.3608 (5.39) 22.5845 (9.88) 1.1055 (5.23) 22.3862 (9.86) 0.2431 (7.05) 792;1051 44,278.0976 (0.10) 17566 1
test_op2[truediv-keys6] 21.9056 (10.06) 44.0031 (4.90) 22.9884 (10.06) 1.2932 (6.12) 22.4896 (9.90) 0.4445 (12.90) 2133;3423 43,500.2864 (0.10) 16457 1
test_op2[truediv-keys7] 21.9317 (10.08) 40.9344 (4.56) 22.6400 (9.91) 0.8249 (3.91) 22.5073 (9.91) 0.2133 (6.19) 440;767 44,169.5161 (0.10) 16967 1
test_op1[square-short_array_kilometer] 23.5969 (10.84) 71.2853 (7.94) 24.5689 (10.75) 0.9587 (4.54) 24.4249 (10.76) 0.2813 (8.16) 496;718 40,701.8874 (0.09) 16590 1
test_build_by_mul[complex] 23.6323 (10.86) 50.5522 (5.63) 24.4074 (10.68) 0.8999 (4.26) 24.2479 (10.68) 0.2189 (6.35) 751;871 40,971.1248 (0.09) 20982 1
test_op1[square-short_array_meter] 23.6779 (10.88) 57.9124 (6.45) 24.5162 (10.73) 0.9260 (4.38) 24.3746 (10.74) 0.3045 (8.84) 374;546 40,789.3787 (0.09) 14517 1
test_op1[sqrt-short_array_meter] 23.8111 (10.94) 53.8900 (6.00) 24.7093 (10.81) 0.9475 (4.49) 24.5562 (10.82) 0.3073 (8.92) 458;640 40,470.5344 (0.09) 15602 1
test_op1[sqrt-short_array_kilometer] 24.0114 (11.03) 58.4470 (6.51) 24.8756 (10.88) 0.9508 (4.50) 24.7173 (10.89) 0.3362 (9.76) 575;716 40,199.9661 (0.09) 16365 1
test_op2[eq-keys1] 24.1436 (11.09) 71.3607 (7.95) 24.9951 (10.94) 1.4314 (6.78) 24.6922 (10.87) 0.2682 (7.78) 406;661 40,007.8223 (0.09) 7377 1
test_op2[eq-keys2] 24.2935 (11.16) 51.3745 (5.72) 24.9464 (10.91) 0.9647 (4.57) 24.7806 (10.91) 0.2272 (6.59) 224;440 40,086.0032 (0.09) 7572 1
test_op1[square-mid_array_meter] 24.5264 (11.27) 61.7485 (6.88) 25.5045 (11.16) 1.1396 (5.40) 25.3068 (11.15) 0.2645 (7.68) 733;972 39,208.7243 (0.09) 16368 1
test_op1[square-mid_array_kilometer] 24.6214 (11.31) 43.9603 (4.90) 25.5998 (11.20) 1.0556 (5.00) 25.4028 (11.19) 0.3204 (9.30) 834;1020 39,062.7820 (0.09) 16378 1
test_op1[sqrt-mid_array_meter] 25.3543 (11.65) 71.9372 (8.02) 26.2331 (11.48) 0.9464 (4.48) 26.0901 (11.49) 0.2859 (8.30) 441;657 38,119.7980 (0.09) 16227 1
test_op1[sqrt-mid_array_kilometer] 25.4782 (11.71) 69.4674 (7.74) 26.4107 (11.55) 1.0587 (5.01) 26.2465 (11.56) 0.3483 (10.11) 504;646 37,863.4472 (0.09) 15964 1
test_op2[eq-keys6] 25.8526 (11.88) 67.4147 (7.51) 26.6295 (11.65) 1.1346 (5.37) 26.4375 (11.64) 0.2317 (6.72) 322;515 37,552.3113 (0.09) 7595 1
test_op2[eq-keys5] 25.9271 (11.91) 83.1559 (9.27) 26.6621 (11.66) 1.1326 (5.36) 26.4784 (11.66) 0.2971 (8.62) 218;425 37,506.4764 (0.09) 7427 1
test_op2[equal-keys3] 32.1083 (14.75) 56.7483 (6.32) 33.1296 (14.49) 1.1324 (5.36) 32.9185 (14.50) 0.3446 (10.00) 410;602 30,184.5317 (0.07) 11522 1
test_op2[equal-keys0] 32.5171 (14.94) 62.1732 (6.93) 33.6188 (14.71) 1.3374 (6.33) 33.3460 (14.69) 0.3651 (10.59) 651;795 29,745.2924 (0.07) 12711 1
test_op2[less-keys3] 32.5609 (14.96) 58.1061 (6.47) 33.6341 (14.72) 1.2898 (6.11) 33.3712 (14.70) 0.3511 (10.19) 671;828 29,731.7492 (0.07) 12974 1
test_op2[less-keys0] 32.6503 (15.00) 59.8654 (6.67) 33.6545 (14.72) 1.1003 (5.21) 33.4531 (14.73) 0.3418 (9.92) 453;607 29,713.6714 (0.07) 12735 1
test_op2[equal-keys4] 34.0641 (15.65) 71.8581 (8.01) 35.2078 (15.40) 1.2704 (6.01) 34.9656 (15.40) 0.3297 (9.57) 515;748 28,402.7623 (0.06) 13021 1
test_op2[less-keys4] 34.0939 (15.66) 56.3143 (6.27) 35.2217 (15.41) 1.2872 (6.09) 34.9749 (15.40) 0.4023 (11.68) 538;704 28,391.6141 (0.06) 12930 1
test_op2[less-keys7] 34.0957 (15.67) 52.4810 (5.85) 35.0630 (15.34) 1.0875 (5.15) 34.8538 (15.35) 0.3483 (10.11) 516;655 28,520.0859 (0.07) 13196 1
test_op2[equal-keys7] 34.2838 (15.75) 72.4848 (8.08) 35.3352 (15.46) 1.2337 (5.84) 35.1053 (15.46) 0.3679 (10.68) 527;734 28,300.4101 (0.06) 13085 1
test_op2[sub-keys20] 36.7370 (16.88) 2,791.4308 (311.02) 38.2917 (16.75) 32.2257 (152.57) 37.7018 (16.60) 0.3714 (10.78) 2;391 26,115.3447 (0.06) 7311 1
test_op2[sub-keys18] 36.8143 (16.91) 50.9648 (5.68) 37.7700 (16.52) 1.0039 (4.75) 37.5863 (16.55) 0.3353 (9.73) 249;299 26,476.0298 (0.06) 6493 1
test_op2[add-keys3] 36.8170 (16.92) 90.9204 (10.13) 37.9487 (16.60) 1.2072 (5.72) 37.7437 (16.62) 0.3669 (10.65) 299;351 26,351.3562 (0.06) 7112 1
test_op2[sub-keys27] 36.9027 (16.96) 50.8605 (5.67) 38.0522 (16.65) 1.0253 (4.85) 37.8620 (16.68) 0.3632 (10.54) 277;332 26,279.6689 (0.06) 7102 1
test_op2[sub-keys10] 36.9092 (16.96) 91.1215 (10.15) 38.1768 (16.70) 1.3375 (6.33) 37.9281 (16.70) 0.3790 (11.00) 393;434 26,193.9111 (0.06) 7390 1
test_op2[sub-keys13] 36.9363 (16.97) 62.7683 (6.99) 38.1646 (16.70) 1.1304 (5.35) 37.9561 (16.72) 0.3763 (10.92) 309;362 26,202.2775 (0.06) 7256 1
test_op2[sub-keys22] 37.0014 (17.00) 49.3051 (5.49) 38.0798 (16.66) 1.0654 (5.04) 37.8639 (16.68) 0.3418 (9.92) 338;390 26,260.6511 (0.06) 7275 1
test_op2[sub-keys34] 37.0620 (17.03) 66.0168 (7.36) 38.5747 (16.88) 1.5541 (7.36) 38.0101 (16.74) 0.4582 (13.30) 1276;1306 25,923.7448 (0.06) 7256 1
test_op2[sub-keys25] 37.0694 (17.03) 59.8226 (6.67) 38.2641 (16.74) 1.0801 (5.11) 38.0613 (16.76) 0.3725 (10.81) 309;364 26,134.1817 (0.06) 7246 1
test_op2[sub-keys3] 37.0899 (17.04) 69.5866 (7.75) 38.2589 (16.74) 1.1685 (5.53) 38.0408 (16.75) 0.3502 (10.16) 311;388 26,137.7290 (0.06) 7291 1
test_op2[sub-keys1] 37.0909 (17.04) 60.7762 (6.77) 38.1350 (16.68) 1.0529 (4.99) 37.9384 (16.71) 0.3637 (10.55) 284;337 26,222.6069 (0.06) 7124 1
test_op2[add-keys18] 37.1058 (17.05) 51.2451 (5.71) 38.2136 (16.72) 1.0232 (4.84) 38.0147 (16.74) 0.3469 (10.07) 292;336 26,168.6845 (0.06) 7128 1
test_op2[sub-keys15] 37.1654 (17.08) 247.5381 (27.58) 38.5035 (16.85) 2.7812 (13.17) 38.1917 (16.82) 0.3809 (11.05) 372;496 25,971.6363 (0.06) 7399 1
test_op2[sub-keys17] 37.1700 (17.08) 56.7362 (6.32) 38.3668 (16.79) 1.1263 (5.33) 38.1367 (16.80) 0.3579 (10.39) 368;406 26,064.2145 (0.06) 7177 1
test_op2[sub-keys8] 37.1700 (17.08) 60.0377 (6.69) 38.3029 (16.76) 1.0880 (5.15) 38.0920 (16.78) 0.3621 (10.51) 326;381 26,107.6516 (0.06) 7279 1
test_op2[add-keys15] 37.1719 (17.08) 68.8732 (7.67) 38.2514 (16.74) 1.0600 (5.02) 38.0622 (16.76) 0.3576 (10.38) 275;331 26,142.8248 (0.06) 7164 1
test_op2[add-keys32] 37.1728 (17.08) 51.7163 (5.76) 38.1981 (16.71) 1.0000 (4.73) 38.0101 (16.74) 0.3586 (10.41) 290;353 26,179.3326 (0.06) 7235 1
test_op2[sub-keys32] 37.2017 (17.09) 60.1495 (6.70) 38.2800 (16.75) 1.1333 (5.37) 38.0594 (16.76) 0.3744 (10.86) 341;384 26,123.2869 (0.06) 7343 1
test_op2[add-keys20] 37.2138 (17.10) 73.4702 (8.19) 38.3665 (16.79) 1.1954 (5.66) 38.1349 (16.80) 0.3774 (10.95) 331;392 26,064.4291 (0.06) 7173 1
test_op2[add-keys27] 37.2222 (17.10) 61.0882 (6.81) 38.3209 (16.77) 1.1181 (5.29) 38.1023 (16.78) 0.3641 (10.57) 348;408 26,095.4451 (0.06) 7265 1
test_op2[sub-keys5] 37.2278 (17.10) 59.6102 (6.64) 38.2689 (16.74) 1.1007 (5.21) 38.0459 (16.76) 0.3558 (10.32) 344;386 26,130.8918 (0.06) 7226 1
test_op2[add-keys17] 37.2650 (17.12) 57.4216 (6.40) 38.3327 (16.77) 1.1182 (5.29) 38.1032 (16.78) 0.3511 (10.19) 363;405 26,087.3552 (0.06) 7151 1
test_op2[add-keys22] 37.2846 (17.13) 60.2091 (6.71) 38.3487 (16.78) 1.1351 (5.37) 38.1097 (16.78) 0.3716 (10.78) 357;416 26,076.5031 (0.06) 6990 1
test_op2[add-keys30] 37.2976 (17.14) 58.2011 (6.48) 38.3701 (16.79) 1.0656 (5.05) 38.1647 (16.81) 0.3539 (10.27) 314;372 26,061.9613 (0.06) 7238 1
test_op2[sub-keys29] 37.3051 (17.14) 85.1499 (9.49) 38.4904 (16.84) 1.3066 (6.19) 38.2448 (16.84) 0.3881 (11.26) 365;403 25,980.4932 (0.06) 7315 1
test_op2[add-keys6] 37.3125 (17.14) 67.8673 (7.56) 38.4271 (16.81) 1.2131 (5.74) 38.2075 (16.83) 0.3644 (10.57) 315;367 26,023.2728 (0.06) 7257 1
test_op2[sub-keys30] 37.3274 (17.15) 113.1007 (12.60) 38.6554 (16.91) 1.6405 (7.77) 38.3155 (16.87) 0.3881 (11.26) 591;629 25,869.5741 (0.06) 7203 1
test_op2[sub-keys6] 37.3423 (17.16) 66.2599 (7.38) 38.4067 (16.80) 1.1581 (5.48) 38.1926 (16.82) 0.3641 (10.57) 333;374 26,037.1526 (0.06) 7231 1
test_op2[add-keys1] 37.3479 (17.16) 51.3224 (5.72) 38.4591 (16.83) 1.0282 (4.87) 38.2634 (16.85) 0.3623 (10.51) 252;286 26,001.6771 (0.06) 6063 1
test_op2[add-keys10] 37.4168 (17.19) 91.2072 (10.16) 38.7356 (16.95) 1.3432 (6.36) 38.4869 (16.95) 0.3607 (10.47) 358;407 25,816.0396 (0.06) 7017 1
test_op2[add-keys29] 37.4550 (17.21) 72.9850 (8.13) 38.5715 (16.88) 1.2684 (6.01) 38.3127 (16.87) 0.3716 (10.78) 405;442 25,925.9073 (0.06) 7185 1
test_op2[add-keys25] 37.5016 (17.23) 62.6529 (6.98) 38.6418 (16.91) 1.4079 (6.67) 38.3416 (16.89) 0.3874 (11.24) 442;483 25,878.7423 (0.06) 7160 1
test_op2[add-keys34] 37.5602 (17.26) 61.0845 (6.81) 38.8597 (17.00) 1.2674 (6.00) 38.5223 (16.97) 0.3977 (11.54) 673;702 25,733.6246 (0.06) 7279 1
test_op2[add-keys8] 37.5602 (17.26) 50.6472 (5.64) 38.5290 (16.86) 1.0173 (4.82) 38.3304 (16.88) 0.3660 (10.62) 278;335 25,954.4866 (0.06) 7080 1
test_op2[add-keys13] 37.5863 (17.27) 69.7952 (7.78) 38.7263 (16.94) 1.2026 (5.69) 38.5130 (16.96) 0.3688 (10.70) 307;360 25,822.2654 (0.06) 7093 1
test_op2[add-keys5] 37.7847 (17.36) 53.2065 (5.93) 38.8972 (17.02) 1.0780 (5.10) 38.6797 (17.04) 0.3681 (10.68) 329;370 25,708.7755 (0.06) 6849 1
test_op2[divide-keys1] 39.4061 (18.11) 66.9844 (7.46) 40.6235 (17.77) 1.2754 (6.04) 40.3710 (17.78) 0.3721 (10.80) 573;696 24,616.2825 (0.06) 12432 1
test_op2[divide-keys2] 39.9444 (18.35) 67.5274 (7.52) 41.2522 (18.05) 1.2422 (5.88) 41.0080 (18.06) 0.3837 (11.14) 517;645 24,241.1280 (0.06) 12071 1
test_op2[divide-keys3] 40.0441 (18.40) 65.5632 (7.30) 41.1950 (18.02) 1.2886 (6.10) 40.9344 (18.03) 0.3623 (10.51) 569;708 24,274.8033 (0.06) 12303 1
test_op2[divide-keys6] 40.2955 (18.51) 64.4363 (7.18) 41.4980 (18.16) 1.3277 (6.29) 41.2231 (18.16) 0.3995 (11.59) 515;639 24,097.5218 (0.06) 10731 1
test_op2[divide-keys7] 40.3710 (18.55) 74.4285 (8.29) 41.6766 (18.23) 1.4078 (6.67) 41.3861 (18.23) 0.3763 (10.92) 623;756 23,994.3047 (0.05) 12283 1
test_op2[divide-keys5] 40.7100 (18.70) 96.5418 (10.76) 41.8659 (18.32) 1.4025 (6.64) 41.5994 (18.32) 0.4098 (11.89) 464;563 23,885.8098 (0.05) 10210 1
test_op2[divide-keys4] 40.7258 (18.71) 57.2652 (6.38) 41.8321 (18.30) 1.2501 (5.92) 41.5789 (18.31) 0.3707 (10.76) 495;616 23,905.0645 (0.05) 11222 1
test_op2[sub-keys2] 41.3181 (18.98) 82.9371 (9.24) 42.5951 (18.64) 1.5431 (7.31) 42.2867 (18.62) 0.4289 (12.45) 332;428 23,476.8960 (0.05) 6376 1
test_op2[add0-keys2] 41.3703 (19.01) 70.7628 (7.88) 42.6619 (18.66) 1.2915 (6.11) 42.4087 (18.68) 0.3912 (11.35) 289;379 23,440.1034 (0.05) 5978 1
test_op2[sub-keys1] 41.5184 (19.08) 69.7561 (7.77) 42.6367 (18.65) 1.2912 (6.11) 42.3836 (18.67) 0.3951 (11.47) 281;348 23,453.9917 (0.05) 5881 1
test_op2[add1-keys3] 41.5547 (19.09) 68.3675 (7.62) 42.6597 (18.66) 1.1994 (5.68) 42.4180 (18.68) 0.3651 (10.59) 531;639 23,441.3231 (0.05) 11511 1
test_op2[add1-keys0] 41.5882 (19.11) 76.7522 (8.55) 42.6917 (18.68) 1.2860 (6.09) 42.4278 (18.69) 0.3893 (11.30) 584;674 23,423.7528 (0.05) 10950 1
test_op2[subtract-keys0] 41.7139 (19.17) 78.6176 (8.76) 43.0660 (18.84) 1.4903 (7.06) 42.7496 (18.83) 0.4061 (11.78) 676;789 23,220.1543 (0.05) 11373 1
test_op2[add0-keys1] 41.9086 (19.26) 104.7300 (11.67) 43.2160 (18.91) 1.4240 (6.74) 42.9684 (18.92) 0.4123 (11.97) 271;333 23,139.5647 (0.05) 5727 1
test_op2[lt-keys1] 42.0501 (19.32) 78.1184 (8.70) 43.3060 (18.95) 1.2953 (6.13) 43.0639 (18.97) 0.3958 (11.49) 254;321 23,091.4967 (0.05) 5646 1
test_op2[subtract-keys3] 42.1107 (19.35) 66.2254 (7.38) 43.4294 (19.00) 1.1800 (5.59) 43.1947 (19.02) 0.4014 (11.65) 497;599 23,025.8676 (0.05) 11201 1
test_op2[lt-keys2] 43.5226 (20.00) 69.0492 (7.69) 44.8115 (19.61) 1.4292 (6.77) 44.5116 (19.60) 0.4331 (12.57) 300;362 22,315.6867 (0.05) 5725 1
test_op2[subtract-keys7] 44.2509 (20.33) 64.8461 (7.23) 45.5433 (19.93) 1.2239 (5.79) 45.2846 (19.94) 0.4242 (12.31) 498;567 21,957.1406 (0.05) 10060 1
test_op2[multiply-keys3] 44.2676 (20.34) 66.2217 (7.38) 45.5642 (19.93) 1.2822 (6.07) 45.2972 (19.95) 0.4373 (12.69) 625;706 21,947.0699 (0.05) 11552 1
test_op2[add1-keys7] 44.3431 (20.37) 70.3307 (7.84) 45.4526 (19.89) 1.2356 (5.85) 45.1971 (19.91) 0.3939 (11.43) 545;669 22,000.9311 (0.05) 11335 1
test_op2[multiply-keys2] 44.4259 (20.41) 98.9689 (11.03) 45.7179 (20.00) 1.3485 (6.38) 45.4606 (20.02) 0.4349 (12.62) 571;683 21,873.2690 (0.05) 11824 1
test_op2[add1-keys4] 44.4669 (20.43) 70.6753 (7.87) 46.0111 (20.13) 1.2048 (5.70) 45.7680 (20.16) 0.4359 (12.65) 535;628 21,733.8647 (0.05) 11154 1
test_op2[multiply-keys1] 44.5386 (20.46) 68.3023 (7.61) 45.8636 (20.07) 1.4103 (6.68) 45.5584 (20.06) 0.4328 (12.56) 684;775 21,803.7682 (0.05) 11623 1
test_op2[sub-keys5] 44.6122 (20.50) 71.6792 (7.99) 45.9616 (20.11) 1.3913 (6.59) 45.6711 (20.11) 0.4321 (12.54) 307;383 21,757.3055 (0.05) 6215 1
test_op2[lt-keys5] 44.7836 (20.58) 75.7398 (8.44) 46.1884 (20.21) 1.4222 (6.73) 45.9170 (20.22) 0.4265 (12.38) 261;334 21,650.4698 (0.05) 5486 1
test_op2[multiply-keys0] 44.9568 (20.66) 100.9591 (11.25) 46.2521 (20.24) 1.3680 (6.48) 45.9868 (20.25) 0.4303 (12.49) 593;685 21,620.6437 (0.05) 11579 1
test_op2[divide-keys0] 45.0211 (20.69) 101.3977 (11.30) 46.2708 (20.24) 1.5720 (7.44) 45.9459 (20.24) 0.4116 (11.95) 677;756 21,611.9011 (0.05) 11370 1
test_op2[subtract-keys4] 45.0285 (20.69) 81.1871 (9.05) 46.6026 (20.39) 1.4891 (7.05) 46.2844 (20.38) 0.4470 (12.97) 688;783 21,458.0480 (0.05) 10806 1
test_op2[add0-keys6] 45.2204 (20.78) 81.9797 (9.13) 46.4858 (20.34) 1.3623 (6.45) 46.2206 (20.36) 0.4682 (13.59) 269;321 21,511.9243 (0.05) 5703 1
test_op2[multiply-keys7] 45.5687 (20.94) 77.1759 (8.60) 47.9262 (20.97) 1.4745 (6.98) 47.6073 (20.97) 0.4582 (13.30) 671;737 20,865.4035 (0.05) 11347 1
test_op2[add0-keys5] 45.6264 (20.96) 65.1609 (7.26) 47.0353 (20.58) 1.2451 (5.89) 46.7710 (20.60) 0.4135 (12.00) 321;389 21,260.6189 (0.05) 6000 1
test_op2[sub-keys6] 45.7130 (21.00) 70.8727 (7.90) 47.0353 (20.58) 1.4852 (7.03) 46.6844 (20.56) 0.4489 (13.03) 424;483 21,260.6349 (0.05) 6138 1
test_op2[lt-keys6] 46.1359 (21.20) 73.3696 (8.17) 47.4923 (20.78) 1.5521 (7.35) 47.1654 (20.77) 0.4675 (13.57) 293;342 21,056.0337 (0.05) 5236 1
test_op2[multiply-keys4] 46.3650 (21.30) 92.5912 (10.32) 47.8891 (20.95) 1.6323 (7.73) 47.5543 (20.94) 0.4694 (13.62) 654;718 20,881.5902 (0.05) 10685 1
test_op2[multiply-keys6] 46.5568 (21.39) 91.6701 (10.21) 49.2074 (21.53) 1.7714 (8.39) 48.8386 (21.51) 0.4703 (13.65) 942;1074 20,322.1322 (0.05) 11149 1
test_op2[multiply-keys5] 47.0020 (21.60) 88.4151 (9.85) 48.5881 (21.26) 1.9143 (9.06) 48.0441 (21.16) 0.5271 (15.30) 1140;1174 20,581.1895 (0.05) 10618 1
test_op2[equal-keys2] 49.6423 (22.81) 95.5053 (10.64) 51.1770 (22.39) 1.7149 (8.12) 50.8195 (22.38) 0.5043 (14.64) 333;411 19,540.0188 (0.04) 5737 1
test_op2[equal-keys1] 49.6535 (22.81) 80.0071 (8.91) 51.1869 (22.39) 1.5110 (7.15) 50.8521 (22.40) 0.4868 (14.13) 312;392 19,536.2550 (0.04) 5823 1
test_op2[less-keys1] 51.7592 (23.78) 81.4535 (9.08) 53.3622 (23.35) 1.7368 (8.22) 52.9801 (23.33) 0.5346 (15.51) 361;445 18,739.8452 (0.04) 6045 1
test_op2[less-keys2] 52.0004 (23.89) 76.5836 (8.53) 53.8679 (23.57) 1.7564 (8.32) 53.3760 (23.51) 0.6158 (17.87) 586;624 18,563.9168 (0.04) 6077 1
test_op2[less-keys5] 52.4400 (24.09) 73.7514 (8.22) 53.9868 (23.62) 1.5894 (7.53) 53.6200 (23.62) 0.5122 (14.86) 348;426 18,523.0410 (0.04) 5785 1
test_op2[equal-keys6] 52.7101 (24.22) 396.3085 (44.16) 54.3035 (23.76) 4.7212 (22.35) 53.8854 (23.73) 0.5071 (14.72) 313;413 18,415.0026 (0.04) 5888 1
test_op2[equal-keys5] 52.8591 (24.29) 85.4991 (9.53) 54.3203 (23.77) 1.5969 (7.56) 53.9534 (23.76) 0.5197 (15.08) 329;396 18,409.3155 (0.04) 5724 1
test_op2[less-keys6] 53.0519 (24.37) 79.6374 (8.87) 54.4667 (23.83) 1.5549 (7.36) 54.1084 (23.83) 0.4992 (14.49) 341;412 18,359.8338 (0.04) 5696 1
test_build_by_mul[short_array] 54.5410 (25.06) 304.5201 (33.93) 56.4640 (24.70) 3.0029 (14.22) 56.0600 (24.69) 0.6668 (19.35) 584;720 17,710.3975 (0.04) 9718 1
test_op2[add1-keys1] 58.3138 (26.79) 648.0394 (72.20) 59.9838 (26.24) 8.2033 (38.84) 59.4910 (26.20) 0.6026 (17.49) 12;394 16,671.1810 (0.04) 5377 1
test_op2[subtract-keys1] 58.4209 (26.84) 91.8908 (10.24) 60.1274 (26.31) 1.6666 (7.89) 59.7155 (26.30) 0.6624 (19.22) 432;449 16,631.3546 (0.04) 5565 1
test_op2[add1-keys2] 58.4247 (26.84) 91.2370 (10.17) 59.9211 (26.22) 1.5190 (7.19) 59.5907 (26.24) 0.5430 (15.76) 346;392 16,688.6032 (0.04) 5684 1
test_build_by_mul[mid_array] 58.4954 (26.88) 139.1862 (15.51) 60.3322 (26.40) 1.9356 (9.16) 59.9297 (26.39) 0.5641 (16.37) 650;699 16,574.8888 (0.04) 9691 1
test_op2[subtract-keys2] 58.8177 (27.02) 97.7907 (10.90) 60.5350 (26.48) 1.7205 (8.15) 60.1448 (26.49) 0.6622 (19.22) 402;434 16,519.3780 (0.04) 5685 1
test_op2[add1-keys5] 61.5111 (28.26) 101.3260 (11.29) 63.4583 (27.76) 1.6866 (7.99) 63.0626 (27.77) 0.6407 (18.59) 380;418 15,758.3733 (0.04) 5522 1
test_op2[add1-keys6] 61.6238 (28.31) 86.7052 (9.66) 63.4538 (27.76) 1.6363 (7.75) 63.0533 (27.77) 0.6300 (18.28) 383;427 15,759.4921 (0.04) 5504 1
test_op2[subtract-keys5] 62.6771 (28.80) 89.5122 (9.97) 64.5077 (28.22) 1.7079 (8.09) 64.0880 (28.23) 0.6554 (19.02) 407;445 15,502.0233 (0.04) 5507 1
test_op2[subtract-keys6] 63.0720 (28.98) 84.0444 (9.36) 65.0784 (28.47) 1.5785 (7.47) 64.7018 (28.50) 0.6594 (19.14) 380;417 15,366.0917 (0.04) 5505 1
test_parse_units[True-ms] 63.9725 (29.39) 104.6453 (11.66) 65.7587 (28.77) 1.5570 (7.37) 65.3993 (28.80) 0.5101 (14.80) 896;958 15,207.1117 (0.03) 12583 1
test_parse_units[False-ms] 64.0126 (29.41) 125.6773 (14.00) 65.6462 (28.72) 1.7807 (8.43) 65.2405 (28.73) 0.5187 (15.05) 722;777 15,233.1667 (0.03) 9520 1
test_getattr[False-ms] 68.5751 (31.51) 115.2242 (12.84) 70.4223 (30.81) 1.6583 (7.85) 70.0364 (30.85) 0.5467 (15.86) 640;695 14,200.0410 (0.03) 8635 1
test_getattr[True-ms] 69.9330 (32.13) 1,198.1744 (133.50) 71.6484 (31.35) 10.6682 (50.51) 71.1381 (31.33) 0.5690 (16.51) 19;962 13,957.0487 (0.03) 11466 1
test_finding_meter_getitem 102.4725 (47.08) 1,343.3611 (149.68) 107.1596 (46.88) 22.3282 (105.71) 104.9894 (46.24) 4.3223 (125.43) 24;108 9,331.8765 (0.02) 3942 1
test_getitem[True-second] 102.8087 (47.24) 337.4815 (37.60) 105.6523 (46.22) 4.1355 (19.58) 104.6676 (46.10) 1.1250 (32.65) 847;1045 9,465.0087 (0.02) 7489 1
test_getitem[False-meter] 102.9149 (47.28) 350.5507 (39.06) 105.4688 (46.14) 4.5832 (21.70) 104.5354 (46.04) 1.0096 (29.30) 548;697 9,481.4755 (0.02) 5478 1
test_getitem[False-second] 103.0536 (47.35) 580.5613 (64.69) 106.6450 (46.66) 7.8330 (37.09) 105.0867 (46.28) 1.4170 (41.12) 195;917 9,376.9031 (0.02) 5273 1
test_getitem[True-minute] 103.2744 (47.45) 65,863.3728 (>1000.0) 116.2525 (50.86) 789.4126 (>1000.0) 105.2711 (46.36) 1.3371 (38.80) 1;1234 8,601.9645 (0.02) 6939 1
test_getitem[True-meter] 103.3442 (47.48) 5,363.7801 (597.63) 108.6106 (47.52) 63.6324 (301.27) 106.0162 (46.69) 4.6643 (135.36) 5;199 9,207.2046 (0.02) 6905 1
test_getitem[False-minute] 103.5910 (47.60) 427.5246 (47.63) 106.3376 (46.52) 5.4151 (25.64) 105.3736 (46.41) 1.0657 (30.93) 384;693 9,404.0103 (0.02) 5445 1
test_getitem[True-angstrom] 104.2476 (47.90) 489.5879 (54.55) 107.5485 (47.05) 6.4393 (30.49) 106.4399 (46.88) 1.1595 (33.65) 246;1011 9,298.1285 (0.02) 7152 1
test_getitem[False-angstrom] 104.9805 (48.23) 375.2196 (41.81) 107.6535 (47.10) 5.3248 (25.21) 106.6905 (46.99) 1.1541 (33.49) 371;679 9,289.0621 (0.02) 5361 1
test_getitem[True-kilometer] 106.3980 (48.88) 536.5927 (59.79) 109.4302 (47.88) 5.9982 (28.40) 108.4534 (47.76) 1.2433 (36.08) 303;936 9,138.2451 (0.02) 7022 1
test_parse_expression[True-meter] 106.5349 (48.95) 159.1509 (17.73) 109.4269 (47.87) 2.8549 (13.52) 108.5764 (47.82) 1.0449 (30.32) 952;963 9,138.5225 (0.02) 7210 1
test_parse_expression[False-meter] 106.5647 (48.96) 133.2788 (14.85) 109.2770 (47.81) 2.1228 (10.05) 108.6099 (47.83) 0.9197 (26.69) 678;683 9,151.0579 (0.02) 5648 1
test_getitem[False-kilometer] 106.8544 (49.09) 527.7274 (58.80) 110.0148 (48.13) 7.7478 (36.68) 108.8846 (47.95) 1.2410 (36.01) 68;504 9,089.6854 (0.02) 3731 1
test_parse_expression[False-second] 107.3685 (49.33) 167.1379 (18.62) 110.5216 (48.35) 2.6780 (12.68) 109.6530 (48.29) 0.9602 (27.86) 766;773 9,048.0027 (0.02) 5451 1
test_parse_expression[True-minute] 107.4029 (49.35) 149.1383 (16.62) 110.1331 (48.18) 2.5399 (12.03) 109.3177 (48.15) 0.9167 (26.60) 964;993 9,079.9235 (0.02) 7337 1
test_parse_expression[True-second] 107.6758 (49.47) 161.8909 (18.04) 110.7928 (48.47) 2.3086 (10.93) 110.0739 (48.48) 0.9055 (26.28) 915;934 9,025.8572 (0.02) 7441 1
test_getitem[True-millisecond] 107.8965 (49.57) 617.2489 (68.77) 111.0910 (48.60) 7.0113 (33.19) 109.9668 (48.43) 1.2531 (36.36) 188;977 9,001.6320 (0.02) 6899 1
test_parse_expression[False-minute] 108.1517 (49.69) 159.7935 (17.80) 111.1625 (48.63) 2.8771 (13.62) 110.2947 (48.58) 1.0207 (29.62) 682;716 8,995.8382 (0.02) 5236 1
test_getitem[False-millisecond] 108.2178 (49.72) 219.3125 (24.44) 111.5049 (48.78) 3.7165 (17.60) 110.4125 (48.63) 1.3248 (38.45) 488;517 8,968.2196 (0.02) 3584 1
test_parse_expression[True-angstrom] 108.3128 (49.76) 160.4995 (17.88) 111.5579 (48.81) 3.0750 (14.56) 110.5359 (48.68) 1.0438 (30.29) 1142;1173 8,963.9578 (0.02) 7479 1
test_parse_expression[False-angstrom] 108.7040 (49.94) 146.1012 (16.28) 111.5376 (48.80) 2.3843 (11.29) 110.8050 (48.80) 0.8990 (26.09) 696;717 8,965.5832 (0.02) 5625 1
test_parse_expression[True-kilometer] 109.2097 (50.18) 139.5773 (15.55) 112.0219 (49.01) 2.6717 (12.65) 111.1012 (48.93) 0.9760 (28.32) 1026;1048 8,926.8257 (0.02) 7028 1
test_parse_expression[False-kilometer] 109.4081 (50.27) 175.5664 (19.56) 112.1269 (49.06) 2.5936 (12.28) 111.3811 (49.05) 0.9062 (26.30) 484;505 8,918.4658 (0.02) 3908 1
test_parse_expression[False-millisecond] 110.1708 (50.62) 145.4502 (16.21) 112.7882 (49.35) 2.2707 (10.75) 112.0633 (49.35) 0.9132 (26.50) 470;482 8,866.1733 (0.02) 3804 1
test_parse_expression[True-millisecond] 111.1012 (51.05) 162.1600 (18.07) 113.6655 (49.73) 2.3257 (11.01) 112.9527 (49.75) 0.8927 (25.91) 880;907 8,797.7475 (0.02) 7135 1
test_create_empty_registry 128.7693 (59.16) 529.8974 (59.04) 150.6440 (65.91) 44.3678 (210.06) 135.4734 (59.67) 9.3356 (270.92) 329;354 6,638.1653 (0.02) 3090 1
test_load_definitions_stage_1[None] 130.8657 (60.13) 12,916.5743 (>1000.0) 154.6756 (67.67) 191.1330 (904.92) 135.9922 (59.89) 6.6333 (192.50) 42;616 6,465.1423 (0.01) 4724 1
test_parse_math_expression 156.9800 (72.12) 496.3130 (55.30) 161.0651 (70.47) 6.5523 (31.02) 159.9444 (70.44) 2.3057 (66.91) 88;435 6,208.6703 (0.01) 3399 1
test_load_definitions_stage_1[True] 165.0089 (75.81) 516.3550 (57.53) 190.3471 (83.28) 53.6822 (254.16) 171.2358 (75.42) 7.8192 (226.91) 469;503 5,253.5594 (0.01) 4219 1
test_parse_expression[True-ms] 167.9799 (77.18) 205.5513 (22.90) 172.1937 (75.34) 3.0040 (14.22) 171.1091 (75.36) 1.6857 (48.92) 941;910 5,807.4136 (0.01) 4962 1
test_parse_expression[False-ms] 169.5845 (77.92) 240.2663 (26.77) 173.7074 (76.00) 3.4043 (16.12) 172.5703 (76.00) 1.7984 (52.19) 536;552 5,756.8081 (0.01) 3022 1
test_getitem[False-ms] 169.9980 (78.11) 388.5105 (43.29) 176.0337 (77.02) 5.4905 (25.99) 174.4768 (76.84) 2.9141 (84.57) 434;543 5,680.7290 (0.01) 3786 1
test_getitem[True-ms] 171.5599 (78.82) 341.9574 (38.10) 176.7106 (77.31) 4.6605 (22.06) 175.3732 (77.24) 2.8056 (81.42) 702;688 5,658.9701 (0.01) 4836 1
test_build_cache 501.1978 (230.28) 579.9280 (64.61) 508.7244 (222.57) 4.6881 (22.20) 508.6544 (224.02) 5.3910 (156.45) 214;12 1,965.7009 (0.00) 1768 1
test_load_definitions_stage_3[True] 2,719.2719 (>1000.0) 81,628.9289 (>1000.0) 8,406.5146 (>1000.0) 21,074.9371 (>1000.0) 2,745.6833 (>1000.0) 89.4405 (>1000.0) 1;1 118.9554 (0.00) 14 1
test_create_tiny_registry 4,185.6123 (>1000.0) 5,284.9092 (588.84) 4,299.8863 (>1000.0) 137.4087 (650.56) 4,248.9879 (>1000.0) 138.6225 (>1000.0) 7;5 232.5643 (0.00) 143 1
test_create_default_registry_use_cache 17,349.7442 (>1000.0) 87,774.5068 (>1000.0) 23,771.5315 (>1000.0) 19,811.4741 (>1000.0) 17,600.4861 (>1000.0) 342.3064 (>1000.0) 5;7 42.0671 (0.00) 57 1
test_load_definitions_stage_3[None] 69,037.3639 (>1000.0) 150,488.2900 (>1000.0) 74,805.0242 (>1000.0) 20,938.4137 (>1000.0) 69,380.4547 (>1000.0) 470.3489 (>1000.0) 1;1 13.3681 (0.00) 15 1
test_create_default_registry 237,261.2227 (>1000.0) 240,359.4078 (>1000.0) 238,565.7277 (>1000.0) 1,213.2905 (>1000.0) 238,167.3399 (>1000.0) 1,727.0399 (>1000.0) 2;0 4.1917 (0.00) 5 1
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Legend:
Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile.
OPS: Operations Per Second, computed as 1 / Mean
=========================== short test summary info ============================
SKIPPED [1] pint/testsuite/test_compat_downcast.py:11: sparse is not available
SKIPPED [1] pint/testsuite/test_compat_upcast.py:9: xarray is not available
SKIPPED [1] pint/testsuite/test_dask.py:12: Dask is not available
SKIPPED [2] pint/testsuite/benchmarks/test_10_registry.py:167: Test failing ValueError: Group USCSLengthInternational already present in registry
SKIPPED [6] pint/testsuite/test_application_registry.py:56: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_application_registry.py:68: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_application_registry.py:97: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_application_registry.py:143: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_application_registry.py:155: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_application_registry.py:227: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_application_registry.py:246: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_babel.py:11: Requires Babel not to be installed
SKIPPED [1] pint/testsuite/test_issues.py:173: Requires NumPy not to be installed.
SKIPPED [1] pint/testsuite/test_issues.py:249: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_issues.py:882: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_issues.py:920: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_issues.py:948: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_measurement.py:21: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_measurement.py:26: Requires Uncertainties
SKIPPED [12] pint/testsuite/test_measurement.py:44: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_measurement.py:67: Requires Uncertainties
SKIPPED [7] pint/testsuite/test_measurement.py:84: Requires Uncertainties
SKIPPED [5] pint/testsuite/test_measurement.py:105: Requires Uncertainties
SKIPPED [5] pint/testsuite/test_measurement.py:121: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_measurement.py:140: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_measurement.py:158: Requires Uncertainties
SKIPPED [12] pint/testsuite/test_measurement.py:177: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_measurement.py:203: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_measurement.py:215: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_measurement.py:262: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_measurement.py:288: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_measurement.py:294: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_numpy.py:449: Requires NumPy >= 2.0
SKIPPED [6] pint/testsuite/test_numpy.py: unconditional skip
SKIPPED [2] pint/testsuite/test_quantity.py:380: Requires MIP
SKIPPED [2] pint/testsuite/test_quantity.py:418: Requires MIP
SKIPPED [2] pint/testsuite/test_quantity.py:433: Requires MIP
SKIPPED [2] pint/testsuite/test_quantity.py:693: Requires NumPy not to be installed.
XFAIL pint/testsuite/test_issues.py::TestIssues::test_issue25
XFAIL pint/testsuite/test_issues.py::TestIssues::test_issue37
XFAIL pint/testsuite/test_issues.py::TestIssues::test_issue39
XFAIL pint/testsuite/test_issues.py::TestIssues::test_issue86c
XFAIL pint/testsuite/test_issues.py::test_issues_1841_xfail
XFAIL pint/testsuite/test_log_units.py::test_compound_log_unit_multiply_definition
XFAIL pint/testsuite/test_log_units.py::test_compound_log_unit_quantity_definition
XFAIL pint/testsuite/test_log_units.py::test_dbm_db_addition
XFAIL pint/testsuite/test_log_units.py::test_frequency_octave_addition[100-2.0-400]
XFAIL pint/testsuite/test_log_units.py::test_frequency_octave_addition[50-1.0-100]
XFAIL pint/testsuite/test_log_units.py::test_frequency_octave_addition[200-0.0-200]
XFAIL pint/testsuite/test_numpy.py::TestNumpyMathematicalFunctions::test_exponentiation_array_exp_2
XFAIL pint/testsuite/test_quantity.py::TestQuantityWithDefaultRegistry::test_formatting_override_default_units - Still not clear how default formatting will work.
XFAIL pint/testsuite/test_quantity.py::TestQuantityWithDefaultRegistry::test_formatting_override_default_magnitude - Still not clear how default formatting will work.
XFAIL pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_defaults_warning - Still not clear how default formatting will work.
XPASS pint/testsuite/test_quantity.py::TestQuantity::test_formatting_override_default_units - Still not clear how default formatting will work.
XPASS pint/testsuite/test_quantity.py::TestQuantity::test_formatting_override_default_magnitude - Still not clear how default formatting will work.
FAILED pint/testsuite/test_babel.py::test_format - locale.Error: unsupported ...
FAILED pint/testsuite/test_babel.py::test_registry_locale - locale.Error: uns...
FAILED pint/testsuite/test_babel.py::test_str - locale.Error: unsupported loc...
FAILED pint/testsuite/test_issues.py::TestIssues::test_issue_1400 - locale.Er...
= 4 failed, 2487 passed, 134 skipped, 15 xfailed, 2 xpassed, 50 warnings, 298 subtests passed in 291.32s (0:04:51) = |
Something like |
could you try with master? should be fixed following #2020 |
one sec 😋 |
Here is pytest output:+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-pint-0.24-2.fc37.x86_64/usr/lib64/python3.10/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-pint-0.24-2.fc37.x86_64/usr/lib/python3.10/site-packages
+ /usr/bin/pytest -ra -m 'not network'
==================================================================================== test session starts ====================================================================================
platform linux -- Python 3.10.14, pytest-8.2.2, pluggy-1.5.0
Matplotlib: 3.9.0
Freetype: 2.13.2
benchmark: 4.0.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /home/tkloczko/rpmbuild/BUILD/pint-0.24
configfile: pyproject.toml
plugins: mpl-0.17.0, subtests-0.12.1, benchmark-4.0.0
collected 2641 items / 3 skipped
pint/testsuite/benchmarks/test_00_common.py . [ 0%]
pint/testsuite/benchmarks/test_01_registry_creation.py .... [ 0%]
pint/testsuite/benchmarks/test_10_registry.py ......................................................................................................ss.. [ 4%]
pint/testsuite/benchmarks/test_20_quantity.py ....................................................................................................................................... [ 9%]
.............................................................................. [ 12%]
pint/testsuite/benchmarks/test_30_numpy.py .................................................................................................................... [ 16%]
pint/testsuite/test_application_registry.py ..................ssssssssssss.......ssssss..................ssssssssssss..................ssssssssssss.. [ 20%]
pint/testsuite/test_babel.py sFF..F [ 20%]
pint/testsuite/test_compat.py .......... [ 21%]
pint/testsuite/test_contexts.py ...............................,,,..,,,,........,,... [ 22%]
pint/testsuite/test_converters.py ....... [ 23%]
pint/testsuite/test_definitions.py ....... [ 23%]
pint/testsuite/test_diskcache.py ..... [ 23%]
pint/testsuite/test_errors.py .......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.. [ 23%]
pint/testsuite/test_formatter.py .... [ 24%]
pint/testsuite/test_formatting.py .................................. [ 25%]
pint/testsuite/test_infer_base_unit.py ........ [ 25%]
pint/testsuite/test_issues.py x.xx........s......s...x................................................s.Fss.......................................................................x.. [ 31%]
..... [ 31%]
pint/testsuite/test_log_units.py ..............................................................................................xx..xxxx [ 35%]
pint/testsuite/test_matplotlib.py ... [ 35%]
pint/testsuite/test_measurement.py .ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 38%]
pint/testsuite/test_non_int.py .............,,,,,,,,,,,,,,,,,,,,,,,,................................................................................................................. [ 42%]
.........................................................................................,,,,,,,,,,,,,,,,,,,,,,,,.................................................................... [ 48%]
......................................................................................................................................,,,,,,,,,,,,,,,,,,,,,,,,....................... [ 54%]
...................................................................................................................................................................... [ 61%]
pint/testsuite/test_numpy.py .....................,,,,,.,,......................s.........x....................................................................,,,,,,................ [ 66%]
....................ssssss [ 67%]
pint/testsuite/test_numpy_func.py .......................... [ 68%]
pint/testsuite/test_pint_eval.py ................................................................ [ 70%]
pint/testsuite/test_pitheorem.py .. [ 70%]
pint/testsuite/test_quantity.py .......,,,,,,,,,,,,,,,,,,,,.,,,,,,,,.,,..,,,,,,,,,.XX....sss........,,,,,,,,,,,,,,,,,,,,,,,,.....s.................................................,,,,,,,,,,,,,,,,,,,,. [ 74%]
,,,,,,,,.,,..,,,,,,,,,.xx....sss........,,,,,,,,,,,,,,,,,,,,,,,,.....s............................................................................................................... [ 79%]
..................................................................................................................................................................................... [ 86%]
.................................................................................................................... [ 90%]
pint/testsuite/test_systems.py ................... [ 91%]
pint/testsuite/test_testing.py ............ [ 91%]
pint/testsuite/test_umath.py .............................................................. [ 94%]
pint/testsuite/test_unit.py ...,,,,,,,,,,,,,.,,,,,,,.,,,,,,,,,.x,,,,,,,,,............................................................................................................ [ 98%]
............... [ 98%]
pint/testsuite/test_util.py ...............,,,,............. [100%]
========================================================================================= FAILURES ==========================================================================================
________________________________________________________________________________________ test_format ________________________________________________________________________________________
func_registry = <pint.registry.UnitRegistry object at 0x7fac2bdc88b0>
@helpers.requires_babel()
def test_format(func_registry):
ureg = func_registry
dirname = os.path.dirname(__file__)
ureg.load_definitions(os.path.join(dirname, "../xtranslated.txt"))
distance = 24.1 * ureg.meter
> assert distance.format_babel(locale="fr_FR", length="long") == "24,1 mètres"
pint/testsuite/test_babel.py:26:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/typing_extensions.py:2853: in wrapper
return arg(*args, **kwargs)
pint/facets/plain/quantity.py:263: in format_babel
return self._REGISTRY.formatter.format_quantity_babel(self, spec, **kwspec)
pint/delegates/formatter/full.py:249: in format_quantity_babel
return self.format_quantity(
pint/delegates/formatter/full.py:170: in format_quantity
return self.get_formatter(spec).format_quantity(
pint/delegates/formatter/plain.py:136: in format_quantity
self.format_magnitude(quantity.magnitude, mspec, **babel_kwds),
pint/delegates/formatter/plain.py:69: in format_magnitude
with override_locale(mspec, babel_kwds.get("locale", None)) as format_number:
/usr/lib64/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
pint/delegates/formatter/_format_helpers.py:94: in override_locale
setlocale(LC_NUMERIC, locale)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
category = 1, locale = 'fr_FR'
def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be
a string, an iterable of two strings (language code and encoding),
or None.
Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values.
"""
if locale and not isinstance(locale, _builtin_str):
# convert to string
locale = normalize(_build_localename(locale))
> return _setlocale(category, locale)
E locale.Error: unsupported locale setting
/usr/lib64/python3.10/locale.py:620: Error
___________________________________________________________________________________ test_registry_locale ____________________________________________________________________________________
@helpers.requires_babel()
def test_registry_locale():
ureg = UnitRegistry(fmt_locale="fr_FR")
dirname = os.path.dirname(__file__)
ureg.load_definitions(os.path.join(dirname, "../xtranslated.txt"))
distance = 24.1 * ureg.meter
> assert distance.format_babel(length="long") == "24,1 mètres"
pint/testsuite/test_babel.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/typing_extensions.py:2853: in wrapper
return arg(*args, **kwargs)
pint/facets/plain/quantity.py:263: in format_babel
return self._REGISTRY.formatter.format_quantity_babel(self, spec, **kwspec)
pint/delegates/formatter/full.py:249: in format_quantity_babel
return self.format_quantity(
pint/delegates/formatter/full.py:170: in format_quantity
return self.get_formatter(spec).format_quantity(
pint/delegates/formatter/plain.py:136: in format_quantity
self.format_magnitude(quantity.magnitude, mspec, **babel_kwds),
pint/delegates/formatter/plain.py:69: in format_magnitude
with override_locale(mspec, babel_kwds.get("locale", None)) as format_number:
/usr/lib64/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
pint/delegates/formatter/_format_helpers.py:94: in override_locale
setlocale(LC_NUMERIC, locale)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
category = 1, locale = 'fr_FR'
def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be
a string, an iterable of two strings (language code and encoding),
or None.
Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values.
"""
if locale and not isinstance(locale, _builtin_str):
# convert to string
locale = normalize(_build_localename(locale))
> return _setlocale(category, locale)
E locale.Error: unsupported locale setting
/usr/lib64/python3.10/locale.py:620: Error
_________________________________________________________________________________________ test_str __________________________________________________________________________________________
func_registry = <pint.registry.UnitRegistry object at 0x7fac42ac9f00>
@helpers.requires_babel()
def test_str(func_registry):
ureg = func_registry
d = 24.1 * ureg.meter
s = "24.1 meter"
assert str(d) == s
assert "%s" % d == s
assert f"{d}" == s
ureg.set_fmt_locale("fr_FR")
s = "24,1 mètres"
> assert str(d) == s
pint/testsuite/test_babel.py:100:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/quantity.py:269: in __str__
return self._REGISTRY.formatter.format_quantity(self)
pint/delegates/formatter/full.py:170: in format_quantity
return self.get_formatter(spec).format_quantity(
pint/delegates/formatter/plain.py:136: in format_quantity
self.format_magnitude(quantity.magnitude, mspec, **babel_kwds),
pint/delegates/formatter/plain.py:69: in format_magnitude
with override_locale(mspec, babel_kwds.get("locale", None)) as format_number:
/usr/lib64/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
pint/delegates/formatter/_format_helpers.py:94: in override_locale
setlocale(LC_NUMERIC, locale)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
category = 1, locale = 'fr_FR'
def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be
a string, an iterable of two strings (language code and encoding),
or None.
Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values.
"""
if locale and not isinstance(locale, _builtin_str):
# convert to string
locale = normalize(_build_localename(locale))
> return _setlocale(category, locale)
E locale.Error: unsupported locale setting
/usr/lib64/python3.10/locale.py:620: Error
________________________________________________________________________________ TestIssues.test_issue_1400 _________________________________________________________________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7fac43afcb20>, sess_registry = <pint.registry.UnitRegistry object at 0x7fac2ba66650>
@helpers.requires_babel()
def test_issue_1400(self, sess_registry):
q1 = 3.1 * sess_registry.W
q2 = 3.1 * sess_registry.W / sess_registry.cm
> assert q1.format_babel("~", locale="es_ES") == "3,1 W"
pint/testsuite/test_issues.py:920:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/typing_extensions.py:2853: in wrapper
return arg(*args, **kwargs)
pint/facets/plain/quantity.py:263: in format_babel
return self._REGISTRY.formatter.format_quantity_babel(self, spec, **kwspec)
pint/delegates/formatter/full.py:249: in format_quantity_babel
return self.format_quantity(
pint/delegates/formatter/full.py:170: in format_quantity
return self.get_formatter(spec).format_quantity(
pint/delegates/formatter/plain.py:136: in format_quantity
self.format_magnitude(quantity.magnitude, mspec, **babel_kwds),
pint/delegates/formatter/plain.py:69: in format_magnitude
with override_locale(mspec, babel_kwds.get("locale", None)) as format_number:
/usr/lib64/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
pint/delegates/formatter/_format_helpers.py:94: in override_locale
setlocale(LC_NUMERIC, locale)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
category = 1, locale = 'es_ES'
def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be
a string, an iterable of two strings (language code and encoding),
or None.
Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values.
"""
if locale and not isinstance(locale, _builtin_str):
# convert to string
locale = normalize(_build_localename(locale))
> return _setlocale(category, locale)
E locale.Error: unsupported locale setting
/usr/lib64/python3.10/locale.py:620: Error
========================================================================================= XFAILURES =========================================================================================
__________________________________________________________________________________ TestIssues.test_issue25 __________________________________________________________________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7fac43af8610>, module_registry = <pint.registry.UnitRegistry object at 0x7fac2b7afd60>
@pytest.mark.xfail
def test_issue25(self, module_registry):
> x = ParserHelper.from_string("10 %")
pint/testsuite/test_issues.py:32:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/util.py:774: in from_string
ret = build_eval_tree(gen).evaluate(
pint/pint_eval.py:565: in build_eval_tree
result, _ = _build_eval_tree(tokens, op_priority, 0, 0)
pint/pint_eval.py:482: in _build_eval_tree
right, index = _build_eval_tree(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tokens = [TokenInfo(type=2 (NUMBER), string='10', start=(1, 0), end=(1, 2), line='10 %'), TokenInfo(type=54 (OP), string='%', s...ng='', start=(1, 4), end=(1, 5), line=''), TokenInfo(type=0 (ENDMARKER), string='', start=(2, 0), end=(2, 0), line='')]
op_priority = {'': 1, '%': 1, '*': 1, '**': 3, ...}, index = 3, depth = 1, prev_op = '%'
def _build_eval_tree(
tokens: list[TokenInfo],
op_priority: dict[str, int],
index: int = 0,
depth: int = 0,
prev_op: str = "<none>",
) -> tuple[EvalTreeNode, int]:
"""Build an evaluation tree from a set of tokens.
Params:
Index, depth, and prev_op used recursively, so don't touch.
Tokens is an iterable of tokens from an expression to be evaluated.
Transform the tokens from an expression into a recursive parse tree, following order
of operations. Operations can include binary ops (3 + 4), implicit ops (3 kg), or
unary ops (-1).
General Strategy:
1) Get left side of operator
2) If no tokens left, return final result
3) Get operator
4) Use recursion to create tree starting at token on right side of operator (start at step #1)
4.1) If recursive call encounters an operator with lower or equal priority to step #2, exit recursion
5) Combine left side, operator, and right side into a new left side
6) Go back to step #2
Raises
------
DefinitionSyntaxError
If there is a syntax error.
"""
result = None
while True:
current_token = tokens[index]
token_type = current_token.type
token_text = current_token.string
if token_type == tokenlib.OP:
if token_text == ")":
if prev_op == "<none>":
raise DefinitionSyntaxError(
f"unopened parentheses in tokens: {current_token}"
)
elif prev_op == "(":
# close parenthetical group
assert result is not None
return result, index
else:
# parenthetical group ending, but we need to close sub-operations within group
assert result is not None
return result, index - 1
elif token_text == "(":
# gather parenthetical group
right, index = _build_eval_tree(
tokens, op_priority, index + 1, 0, token_text
)
if not tokens[index][1] == ")":
raise DefinitionSyntaxError("weird exit from parentheses")
if result:
# implicit op with a parenthetical group, i.e. "3 (kg ** 2)"
result = EvalTreeNode(left=result, right=right)
else:
# get first token
result = right
elif token_text in op_priority:
if result:
# equal-priority operators are grouped in a left-to-right order,
# unless they're exponentiation, in which case they're grouped
# right-to-left this allows us to get the expected behavior for
# multiple exponents
# (2^3^4) --> (2^(3^4))
# (2 * 3 / 4) --> ((2 * 3) / 4)
if op_priority[token_text] <= op_priority.get(
prev_op, -1
) and token_text not in ("**", "^"):
# previous operator is higher priority, so end previous binary op
return result, index - 1
# get right side of binary op
right, index = _build_eval_tree(
tokens, op_priority, index + 1, depth + 1, token_text
)
result = EvalTreeNode(
left=result, operator=current_token, right=right
)
else:
# unary operator
right, index = _build_eval_tree(
tokens, op_priority, index + 1, depth + 1, "unary"
)
result = EvalTreeNode(left=right, operator=current_token)
elif token_type in (tokenlib.NUMBER, tokenlib.NAME):
if result:
# tokens with an implicit operation i.e. "1 kg"
if op_priority[""] <= op_priority.get(prev_op, -1):
# previous operator is higher priority than implicit, so end
# previous binary op
return result, index - 1
right, index = _build_eval_tree(
tokens, op_priority, index, depth + 1, ""
)
result = EvalTreeNode(left=result, right=right)
else:
# get first token
result = EvalTreeNode(left=current_token)
if tokens[index][0] == tokenlib.ENDMARKER:
if prev_op == "(":
raise DefinitionSyntaxError("unclosed parentheses in tokens")
if depth > 0 or prev_op:
# have to close recursion
> assert result is not None
E AssertionError
pint/pint_eval.py:514: AssertionError
__________________________________________________________________________________ TestIssues.test_issue37 __________________________________________________________________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7fac43af9ed0>, module_registry = <pint.registry.UnitRegistry object at 0x7fac2b7afd60>
@pytest.mark.xfail
@helpers.requires_numpy
def test_issue37(self, module_registry):
x = np.ma.masked_array([1, 2, 3], mask=[True, True, False])
q = module_registry.meter * x
assert isinstance(q, module_registry.Quantity)
np.testing.assert_array_equal(q.magnitude, x)
> assert q.units == module_registry.meter.units
E AttributeError: 'Unit' object has no attribute 'units'. Did you mean: '_units'?
pint/testsuite/test_issues.py:57: AttributeError
__________________________________________________________________________________ TestIssues.test_issue39 __________________________________________________________________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7fac43afada0>, module_registry = <pint.registry.UnitRegistry object at 0x7fac2b7afd60>
@pytest.mark.xfail
@helpers.requires_numpy
def test_issue39(self, module_registry):
x = np.matrix([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
q = module_registry.meter * x
assert isinstance(q, module_registry.Quantity)
np.testing.assert_array_equal(q.magnitude, x)
> assert q.units == module_registry.meter.units
E AttributeError: 'Unit' object has no attribute 'units'. Did you mean: '_units'?
pint/testsuite/test_issues.py:80: AttributeError
_________________________________________________________________________________ TestIssues.test_issue86c __________________________________________________________________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7fac43afa5c0>, module_registry = <pint.registry.UnitRegistry object at 0x7fac2b7afd60>
@pytest.mark.xfail
def test_issue86c(self, module_registry):
module_registry.autoconvert_offset_to_baseunit = True
T = module_registry.degC
T = 100.0 * T
> helpers.assert_quantity_almost_equal(
module_registry.k * 2 * T, module_registry.k * (2 * T)
)
pint/testsuite/test_issues.py:327:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
first = <Quantity(746.3, 'boltzmann_constant * kelvin')>, second = <Quantity(473.15, 'boltzmann_constant * kelvin')>, rtol = 1e-07, atol = 0
msg = "Comparing <Quantity(746.3, 'boltzmann_constant * kelvin')> and <Quantity(473.15, 'boltzmann_constant * kelvin')>. (Converted to 746.3 and 473.15)"
def assert_allclose(
first, second, rtol: float = 1e-07, atol: float = 0, msg: str | None = None
) -> None:
if msg is None:
try:
msg = f"Comparing {first!r} and {second!r}. "
except (TypeError, ValueError):
try:
msg = f"Comparing {first} and {second}. "
except Exception:
msg = "Comparing"
m1, m2 = _get_comparable_magnitudes(first, second, msg)
msg += f" (Converted to {m1!r} and {m2!r})"
if isinstance(m1, ndarray) or isinstance(m2, ndarray):
np.testing.assert_allclose(m1, m2, rtol=rtol, atol=atol, err_msg=msg)
elif not isinstance(m1, Number):
warnings.warn("In assert_equal, m1 is not a number ", UserWarning)
return
elif not isinstance(m2, Number):
warnings.warn("In assert_equal, m2 is not a number ", UserWarning)
return
elif math.isnan(m1):
assert math.isnan(m2), msg
elif math.isnan(m2):
assert math.isnan(m1), msg
elif math.isinf(m1):
assert math.isinf(m2), msg
elif math.isinf(m2):
assert math.isinf(m1), msg
else:
# Numpy version (don't like because is not symmetric)
# assert abs(m1 - m2) <= atol + rtol * abs(m2), msg
> assert abs(m1 - m2) <= max(rtol * max(abs(m1), abs(m2)), atol), msg
E AssertionError: Comparing <Quantity(746.3, 'boltzmann_constant * kelvin')> and <Quantity(473.15, 'boltzmann_constant * kelvin')>. (Converted to 746.3 and 473.15)
pint/testing.py:94: AssertionError
__________________________________________________________________________________ test_issues_1841_xfail ___________________________________________________________________________________
@pytest.mark.xfail
def test_issues_1841_xfail():
from pint import formatting as fmt
from pint.delegates.formatter._compound_unit_helpers import sort_by_dimensionality
# sets compact display mode by default
ur = UnitRegistry()
ur.default_format = "~P"
ur.formatter.default_sort_func = sort_by_dimensionality
q = ur.Quantity("2*pi radian * hour")
# Note that `radian` (and `bit` and `count`) are treated as dimensionless.
# And note that dimensionless quantities are stripped by this process,
# leading to errorneous output. Suggestions?
> assert (
fmt.format_unit(q.u._units, spec="", registry=ur, sort_dims=True)
== "radian * hour"
)
E AssertionError: assert 'pi * radian * hour' == 'radian * hour'
E
E - radian * hour
E + pi * radian * hour
E ? +++++
pint/testsuite/test_issues.py:1225: AssertionError
________________________________________________________________________ test_compound_log_unit_multiply_definition _________________________________________________________________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7fac2c1229e0>
@pytest.mark.xfail
def test_compound_log_unit_multiply_definition(module_registry_auto_offset):
"""Check that compound log units can be defined using multiply."""
Q_ = module_registry_auto_offset.Quantity
canonical_def = Q_(-161, "dBm") / module_registry_auto_offset.Hz
mult_def = -161 * module_registry_auto_offset("dBm/Hz")
> assert mult_def == canonical_def
E AssertionError: assert <Quantity(-202.686991, 'gram * meter ** 2 / second ** 3 / hertz')> == <Quantity(7.94328235e-17, 'gram * meter ** 2 / second ** 3 / hertz')>
pint/testsuite/test_log_units.py:231: AssertionError
________________________________________________________________________ test_compound_log_unit_quantity_definition _________________________________________________________________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7fac2c1229e0>
@pytest.mark.xfail
def test_compound_log_unit_quantity_definition(module_registry_auto_offset):
"""Check that compound log units can be defined using ``Quantity()``."""
Q_ = module_registry_auto_offset.Quantity
canonical_def = Q_(-161, "dBm") / module_registry_auto_offset.Hz
quantity_def = Q_(-161, "dBm/Hz")
> assert quantity_def == canonical_def
pint/testsuite/test_log_units.py:240:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/quantity.py:100: in wrapped
return f(self, *args, **kwargs)
pint/facets/plain/quantity.py:1351: in __eq__
self._convert_magnitude_not_inplace(other._units),
pint/facets/plain/quantity.py:479: in _convert_magnitude_not_inplace
return self._REGISTRY.convert(self._magnitude, self._units, other)
pint/facets/plain/registry.py:1038: in convert
return self._convert(value, src, dst, inplace)
pint/facets/context/registry.py:405: in _convert
return super()._convert(value, src, dst, inplace)
pint/facets/nonmultiplicative/registry.py:246: in _convert
src_offset_unit = self._validate_and_extract(src)
pint/facets/nonmultiplicative/registry.py:165: in _validate_and_extract
nonmult_units = [
pint/facets/nonmultiplicative/registry.py:166: in <listcomp>
(u, e) for u, e in units.items() if not self._is_multiplicative(u)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pint.registry.UnitRegistry object at 0x7fac2c1229e0>, unit_name = 'delta_decibelmilliwatt'
def _is_multiplicative(self, unit_name: str) -> bool:
"""True if the unit is multiplicative.
Parameters
----------
unit_name
Name of the unit to check.
Can be prefixed, pluralized or even an alias
Raises
------
UndefinedUnitError
If the unit is not in the registry.
"""
if unit_name in self._units:
return self._units[unit_name].is_multiplicative
# If the unit is not in the registry might be because it is not
# registered with its prefixed version.
# TODO: Might be better to register them.
names = self.parse_unit_name(unit_name)
> assert len(names) == 1
E AssertionError
pint/facets/nonmultiplicative/registry.py:131: AssertionError
___________________________________________________________________________________ test_dbm_db_addition ____________________________________________________________________________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7fac2c1229e0>
@pytest.mark.xfail
def test_dbm_db_addition(module_registry_auto_offset):
"""Test a dB value can be added to a dBm and the answer is correct."""
> power = (5 * module_registry_auto_offset.dBm) + (
10 * module_registry_auto_offset.dB
)
pint/testsuite/test_log_units.py:261:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/quantity.py:848: in __add__
return self._add_sub(other, operator.add)
pint/facets/plain/quantity.py:100: in wrapped
return f(self, *args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Quantity(5, 'decibelmilliwatt')>, other = <Quantity(10, 'decibel')>, op = <built-in function add>
@check_implemented
def _add_sub(self, other, op):
"""Perform addition or subtraction operation and return the result.
Parameters
----------
other : pint.PlainQuantity or any type accepted by :func:`_to_magnitude`
object to be added to / subtracted from self
op : function
operator function (e.g. operator.add, operator.isub)
"""
if not self._check(other):
# other not from same Registry or not a PlainQuantity
if zero_or_nan(other, True):
# If the other value is 0 or NaN (but not a PlainQuantity)
# do the operation without checking units.
# We do the calculation instead of just returning the same
# value to enforce any shape checking and type casting due to
# the operation.
units = self._units
magnitude = op(
self._magnitude,
_to_magnitude(other, self.force_ndarray, self.force_ndarray_like),
)
elif self.dimensionless:
units = self.UnitsContainer()
magnitude = op(
self.to(units)._magnitude,
_to_magnitude(other, self.force_ndarray, self.force_ndarray_like),
)
else:
raise DimensionalityError(self._units, "dimensionless")
return self.__class__(magnitude, units)
if not self.dimensionality == other.dimensionality:
> raise DimensionalityError(
self._units, other._units, self.dimensionality, other.dimensionality
)
E pint.errors.DimensionalityError: Cannot convert from 'decibelmilliwatt' ([mass] * [length] ** 2 / [time] ** 3) to 'decibel' (dimensionless)
pint/facets/plain/quantity.py:750: DimensionalityError
________________________________________________________________________ test_frequency_octave_addition[100-2.0-400] ________________________________________________________________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7fac2c1229e0>, freq1 = <Quantity(100, 'hertz')>, octaves = 2.0, freq2 = 400
@pytest.mark.xfail
@pytest.mark.parametrize(
"freq1,octaves,freq2",
[
(100, 2.0, 400),
(50, 1.0, 100),
(200, 0.0, 200),
], # noqa: E231
)
def test_frequency_octave_addition(module_registry_auto_offset, freq1, octaves, freq2):
"""Test an Octave can be added to a frequency correctly"""
freq1 = freq1 * module_registry_auto_offset.Hz
> shift = octaves * module_registry_auto_offset.Octave
pint/testsuite/test_log_units.py:279:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/registry.py:367: in __getattr__
return self.Unit(item)
pint/facets/plain/unit.py:41: in __init__
self._units = self._REGISTRY.parse_units(units)._units
pint/facets/plain/registry.py:1199: in parse_units
self.parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/nonmultiplicative/registry.py:69: in parse_units_as_container
return super().parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1214: in parse_units_as_container
return self._parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1249: in _parse_units_as_container
cname = self.get_name(name, case_sensitive=case_sensitive)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pint.registry.UnitRegistry object at 0x7fac2c1229e0>, name_or_alias = 'Octave', case_sensitive = True
def get_name(self, name_or_alias: str, case_sensitive: bool | None = None) -> str:
"""Return the canonical name of a unit."""
if name_or_alias == "dimensionless":
return ""
try:
return self._units[name_or_alias].name
except KeyError:
pass
candidates = self.parse_unit_name(name_or_alias, case_sensitive)
if not candidates:
> raise UndefinedUnitError(name_or_alias)
E pint.errors.UndefinedUnitError: 'Octave' is not defined in the unit registry
pint/facets/plain/registry.py:658: UndefinedUnitError
________________________________________________________________________ test_frequency_octave_addition[50-1.0-100] _________________________________________________________________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7fac2c1229e0>, freq1 = <Quantity(50, 'hertz')>, octaves = 1.0, freq2 = 100
@pytest.mark.xfail
@pytest.mark.parametrize(
"freq1,octaves,freq2",
[
(100, 2.0, 400),
(50, 1.0, 100),
(200, 0.0, 200),
], # noqa: E231
)
def test_frequency_octave_addition(module_registry_auto_offset, freq1, octaves, freq2):
"""Test an Octave can be added to a frequency correctly"""
freq1 = freq1 * module_registry_auto_offset.Hz
> shift = octaves * module_registry_auto_offset.Octave
pint/testsuite/test_log_units.py:279:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/registry.py:367: in __getattr__
return self.Unit(item)
pint/facets/plain/unit.py:41: in __init__
self._units = self._REGISTRY.parse_units(units)._units
pint/facets/plain/registry.py:1199: in parse_units
self.parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/nonmultiplicative/registry.py:69: in parse_units_as_container
return super().parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1214: in parse_units_as_container
return self._parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1249: in _parse_units_as_container
cname = self.get_name(name, case_sensitive=case_sensitive)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pint.registry.UnitRegistry object at 0x7fac2c1229e0>, name_or_alias = 'Octave', case_sensitive = True
def get_name(self, name_or_alias: str, case_sensitive: bool | None = None) -> str:
"""Return the canonical name of a unit."""
if name_or_alias == "dimensionless":
return ""
try:
return self._units[name_or_alias].name
except KeyError:
pass
candidates = self.parse_unit_name(name_or_alias, case_sensitive)
if not candidates:
> raise UndefinedUnitError(name_or_alias)
E pint.errors.UndefinedUnitError: 'Octave' is not defined in the unit registry
pint/facets/plain/registry.py:658: UndefinedUnitError
________________________________________________________________________ test_frequency_octave_addition[200-0.0-200] ________________________________________________________________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7fac2c1229e0>, freq1 = <Quantity(200, 'hertz')>, octaves = 0.0, freq2 = 200
@pytest.mark.xfail
@pytest.mark.parametrize(
"freq1,octaves,freq2",
[
(100, 2.0, 400),
(50, 1.0, 100),
(200, 0.0, 200),
], # noqa: E231
)
def test_frequency_octave_addition(module_registry_auto_offset, freq1, octaves, freq2):
"""Test an Octave can be added to a frequency correctly"""
freq1 = freq1 * module_registry_auto_offset.Hz
> shift = octaves * module_registry_auto_offset.Octave
pint/testsuite/test_log_units.py:279:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/registry.py:367: in __getattr__
return self.Unit(item)
pint/facets/plain/unit.py:41: in __init__
self._units = self._REGISTRY.parse_units(units)._units
pint/facets/plain/registry.py:1199: in parse_units
self.parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/nonmultiplicative/registry.py:69: in parse_units_as_container
return super().parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1214: in parse_units_as_container
return self._parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1249: in _parse_units_as_container
cname = self.get_name(name, case_sensitive=case_sensitive)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pint.registry.UnitRegistry object at 0x7fac2c1229e0>, name_or_alias = 'Octave', case_sensitive = True
def get_name(self, name_or_alias: str, case_sensitive: bool | None = None) -> str:
"""Return the canonical name of a unit."""
if name_or_alias == "dimensionless":
return ""
try:
return self._units[name_or_alias].name
except KeyError:
pass
candidates = self.parse_unit_name(name_or_alias, case_sensitive)
if not candidates:
> raise UndefinedUnitError(name_or_alias)
E pint.errors.UndefinedUnitError: 'Octave' is not defined in the unit registry
pint/facets/plain/registry.py:658: UndefinedUnitError
______________________________________________________________ TestNumpyMathematicalFunctions.test_exponentiation_array_exp_2 _______________________________________________________________
self = <pint.testsuite.test_numpy.TestNumpyMathematicalFunctions object at 0x7fac430217e0>
@pytest.mark.xfail
@helpers.requires_numpy
def test_exponentiation_array_exp_2(self):
arr = np.array(range(3), dtype=float)
# q = self.Q_(copy.copy(arr), None)
q = self.Q_(copy.copy(arr), "meter")
arr_cp = copy.copy(arr)
q_cp = copy.copy(q)
# this fails as expected since numpy 1.8.0 but...
with pytest.raises(DimensionalityError):
op.pow(arr_cp, q_cp)
# ..not for op.ipow !
# q_cp is treated as if it is an array. The units are ignored.
# Quantity.__ipow__ is never called
arr_cp = copy.copy(arr)
q_cp = copy.copy(q)
with pytest.raises(DimensionalityError):
> op.ipow(arr_cp, q_cp)
pint/testsuite/test_numpy.py:566:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/numpy/quantity.py:72: in __array_ufunc__
return numpy_wrap("ufunc", ufunc, inputs, kwargs, types)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
func_type = 'ufunc', func = <ufunc 'power'>, args = (array([0., 1., 2.]), <Quantity([0. 1. 2.], 'meter')>), kwargs = {'out': (array([0., 1., 2.]),)}
types = {<class 'pint.Quantity'>, <class 'numpy.ndarray'>}
def numpy_wrap(func_type, func, args, kwargs, types):
"""Return the result from a NumPy function/ufunc as wrapped by Pint."""
if func_type == "function":
handled = HANDLED_FUNCTIONS
# Need to handle functions in submodules
name = ".".join(func.__module__.split(".")[1:] + [func.__name__])
elif func_type == "ufunc":
handled = HANDLED_UFUNCS
# ufuncs do not have func.__module__
name = func.__name__
else:
raise ValueError(f"Invalid func_type {func_type}")
if name not in handled or any(is_upcast_type(t) for t in types):
return NotImplemented
> return handled[name](*args, **kwargs)
E TypeError: _power() got an unexpected keyword argument 'out'
pint/facets/numpy/numpy_func.py:1071: TypeError
__________________________________________________________ TestQuantityWithDefaultRegistry.test_formatting_override_default_units ___________________________________________________________
self = <pint.testsuite.test_quantity.TestQuantityWithDefaultRegistry object at 0x7fac4307f400>
@pytest.mark.xfail(reason="Still not clear how default formatting will work.")
def test_formatting_override_default_units(self):
ureg = UnitRegistry()
ureg.formatter.default_format = "~"
x = ureg.Quantity(4, "m ** 2")
assert f"{x:dP}" == "4 meter²"
> with pytest.warns(DeprecationWarning):
E Failed: DID NOT WARN. No warnings of type (<class 'DeprecationWarning'>,) were emitted.
E Emitted warnings: [].
pint/testsuite/test_quantity.py:278: Failed
________________________________________________________ TestQuantityWithDefaultRegistry.test_formatting_override_default_magnitude _________________________________________________________
self = <pint.testsuite.test_quantity.TestQuantityWithDefaultRegistry object at 0x7fac4307efe0>
@pytest.mark.xfail(reason="Still not clear how default formatting will work.")
def test_formatting_override_default_magnitude(self):
ureg = UnitRegistry()
ureg.formatter.default_format = ".2f"
x = ureg.Quantity(4, "m ** 2")
assert f"{x:dP}" == "4 meter²"
> with pytest.warns(DeprecationWarning):
E Failed: DID NOT WARN. No warnings of type (<class 'DeprecationWarning'>,) were emitted.
E Emitted warnings: [].
pint/testsuite/test_quantity.py:292: Failed
______________________________________________________________________ TestUnit.test_unit_formatting_defaults_warning _______________________________________________________________________
self = <pint.testsuite.test_unit.TestUnit object at 0x7fac429190f0>
@pytest.mark.xfail(reason="Still not clear how default formatting will work.")
def test_unit_formatting_defaults_warning(self):
ureg = UnitRegistry()
ureg.default_format = "~P"
x = ureg.Unit("m / s ** 2")
> with pytest.warns(DeprecationWarning):
E Failed: DID NOT WARN. No warnings of type (<class 'DeprecationWarning'>,) were emitted.
E Emitted warnings: [].
pint/testsuite/test_unit.py:116: Failed
===================================================================================== warnings summary ======================================================================================
pint/testsuite/benchmarks/test_00_common.py::test_import
/usr/lib/python3.10/site-packages/_pytest/python.py:166: PytestReturnNotNoneWarning: Expected None, but pint/testsuite/benchmarks/test_00_common.py::test_import returned 313623, which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`?
warnings.warn(
pint/testsuite/benchmarks/test_00_common.py::test_import
pint/testsuite/benchmarks/test_00_common.py:7: PytestBenchmarkWarning: Benchmark fixture was not used at all in this test!
def test_import(benchmark):
pint/testsuite/test_babel.py::test_format
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:26: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_quantity_babel
assert distance.format_babel(locale="fr_FR", length="long") == "24,1 mètres"
pint/testsuite/test_babel.py::test_registry_locale
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:46: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_quantity_babel
assert distance.format_babel(length="long") == "24,1 mètres"
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:67: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_unit_babel
assert volume.format_babel() == "millilitre"
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:69: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = "~"
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:70: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_unit_babel
assert volume.format_babel() == "ml"
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:73: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_unit_babel
assert dimensionless_unit.format_babel() == ""
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:75: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.set_locale
ureg.set_fmt_locale(None)
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:77: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_unit_babel
volume.format_babel()
pint/testsuite/test_babel.py::test_no_registry_locale
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:85: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_quantity_babel
distance.format_babel()
pint/testsuite/test_babel.py::test_str
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_babel.py:98: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.set_locale
ureg.set_fmt_locale("fr_FR")
pint/testsuite/test_issues.py::TestIssues::test_issue39
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_issues.py:76: PendingDeprecationWarning: the matrix subclass is not the recommended way to represent matrices or deal with linear algebra (see https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please adjust your code to use regular ndarray.
x = np.matrix([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
pint/testsuite/test_issues.py::TestIssues::test_issue_1400
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_issues.py:920: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_quantity_babel
assert q1.format_babel("~", locale="es_ES") == "3,1 W"
pint/testsuite/test_issues.py::test_issues_1841[units0-P~-V\xb7A]
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_issues.py:1205: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ur.default_format = spec
pint/testsuite/test_issues.py::test_issues_1841_xfail
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_issues.py:1217: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ur.default_format = "~P"
pint/testsuite/test_numpy.py::TestNumpyUnclassified::test_put
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/facets/numpy/quantity.py:154: UnitStrippedWarning: The unit of the quantity is stripped when downcasting to ndarray.
self.magnitude.put(indices, values, mode)
pint/testsuite/test_numpy.py::TestNumpyUnclassified::test_copyto
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/facets/numpy/numpy_func.py:1071: UnitStrippedWarning: The unit of the quantity is stripped when copying to non-quantity
return handled[name](*args, **kwargs)
pint/testsuite/test_quantity.py::TestQuantityToCompact::test_nonnumeric_magnitudes
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testing.py:78: UserWarning: In assert_equal, m1 is not a number
warnings.warn("In assert_equal, m1 is not a number ", UserWarning)
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:73: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = spec
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:86: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = spec
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:107: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = spec
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_defaults_warning
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:113: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = "~P"
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:139: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = spec
pint/testsuite/test_unit.py::TestUnit::test_ipython
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:180: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = "~"
pint/testsuite/test_unit.py::TestRegistry::test_default_format
pint/testsuite/test_unit.py::TestRegistryWithDefaultRegistry::test_default_format
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:325: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = "~"
pint/testsuite/test_unit.py::TestRegistry::test_default_format
pint/testsuite/test_unit.py::TestRegistryWithDefaultRegistry::test_default_format
/home/tkloczko/rpmbuild/BUILD/pint-0.24/pint/testsuite/test_unit.py:329: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
assert ureg.default_format == "~"
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
========================================================================================== XPASSES ==========================================================================================
---------------------------------------------------------------------------------------------------------------------- benchmark: 437 tests ---------------------------------------------------------------------------------------------------------------------
Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test_op1[truth-int_meter] 2.1551 (1.0) 28.0549 (2.73) 2.2789 (1.00) 0.2448 (1.21) 2.2630 (1.0) 0.0491 (1.07) 285;2703 438,810.9205 (1.00) 84524 1
test_op1[truth-complex_meter] 2.1571 (1.00) 43.6150 (4.24) 2.2761 (1.0) 0.2368 (1.17) 2.2639 (1.00) 0.0499 (1.09) 246;1764 439,352.2001 (1.0) 90050 1
test_op1[truth-float_kilometer] 2.1871 (1.01) 51.5879 (5.01) 2.3333 (1.03) 0.2624 (1.30) 2.3141 (1.02) 0.0560 (1.22) 315;4705 428,573.4031 (0.98) 115048 1
test_op1[truth-float_meter] 2.1880 (1.02) 19.1970 (1.86) 2.3417 (1.03) 0.2696 (1.33) 2.3091 (1.02) 0.0610 (1.33) 1062;9431 427,037.2211 (0.97) 98030 1
test_op1[truth-int_kilometer] 2.1909 (1.02) 19.1620 (1.86) 2.3185 (1.02) 0.2026 (1.0) 2.3050 (1.02) 0.0501 (1.09) 329;2160 431,308.0993 (0.98) 106532 1
test_op1[truth-complex_kilometer] 2.2060 (1.02) 23.5350 (2.29) 2.3460 (1.03) 0.2484 (1.23) 2.3220 (1.03) 0.0560 (1.22) 642;8413 426,250.3515 (0.97) 118274 1
test_wrapper_nonstrict[float_meter] 2.7979 (1.30) 54.5640 (5.30) 2.9327 (1.29) 0.3110 (1.54) 2.9131 (1.29) 0.0460 (1.0) 959;3622 340,977.1457 (0.78) 123320 1
test_wrapper_nonstrict[complex_kilometer] 2.8010 (1.30) 28.2710 (2.75) 2.9556 (1.30) 0.2982 (1.47) 2.9210 (1.29) 0.0539 (1.17) 2432;10250 338,344.5423 (0.77) 123336 1
test_to_units_container_detached[True-angstrom] 2.8110 (1.30) 43.8720 (4.26) 3.0330 (1.33) 0.4038 (1.99) 2.9920 (1.32) 0.0721 (1.57) 669;16404 329,711.1020 (0.75) 145201 1
test_wrapper_nonstrict[complex_meter] 2.8120 (1.30) 61.7270 (6.00) 2.9886 (1.31) 0.3128 (1.54) 2.9741 (1.31) 0.0657 (1.43) 370;1257 334,606.4452 (0.76) 110351 1
test_to_units_container_detached[True-meter] 2.8150 (1.31) 31.6029 (3.07) 3.0081 (1.32) 0.3737 (1.84) 2.9739 (1.31) 0.0610 (1.33) 709;12183 332,431.3833 (0.76) 144758 1
test_wrapper_nonstrict[int_kilometer] 2.8200 (1.31) 27.5819 (2.68) 2.9862 (1.31) 0.2913 (1.44) 2.9610 (1.31) 0.0591 (1.29) 803;7539 334,877.4585 (0.76) 125533 1
test_to_units_container_registry[True-angstrom] 2.8210 (1.31) 35.4131 (3.44) 3.0023 (1.32) 0.3639 (1.80) 2.9720 (1.31) 0.0581 (1.26) 576;10184 333,080.8903 (0.76) 142067 1
test_wrapper_nonstrict[float_kilometer] 2.8260 (1.31) 32.5750 (3.16) 2.9833 (1.31) 0.2884 (1.42) 2.9550 (1.31) 0.0560 (1.22) 765;8608 335,197.7815 (0.76) 109254 1
test_wrapper_nonstrict[int_meter] 2.8290 (1.31) 11.1209 (1.08) 2.9684 (1.30) 0.2457 (1.21) 2.9510 (1.30) 0.0501 (1.09) 402;2530 336,882.0027 (0.77) 122926 1
test_to_units_container_registry[True-meter] 2.8310 (1.31) 28.8120 (2.80) 3.0390 (1.34) 0.3795 (1.87) 2.9930 (1.32) 0.0671 (1.46) 904;18180 329,057.7982 (0.75) 140430 1
test_to_units_container_registry[False-meter] 2.8370 (1.32) 42.7890 (4.16) 3.0267 (1.33) 0.4375 (2.16) 2.9911 (1.32) 0.0590 (1.28) 146;2782 330,397.9868 (0.75) 35959 1
test_to_units_container_detached[False-angstrom] 2.8450 (1.32) 25.7430 (2.50) 3.0840 (1.35) 0.4655 (2.30) 3.0200 (1.33) 0.1059 (2.30) 160;3177 324,254.1061 (0.74) 35702 1
test_to_units_container_registry[False-angstrom] 2.8540 (1.32) 23.0350 (2.24) 3.0272 (1.33) 0.3776 (1.86) 2.9950 (1.32) 0.0540 (1.17) 159;3163 330,336.6347 (0.75) 39494 1
test_to_units_container_detached[False-meter] 2.8770 (1.33) 19.8920 (1.93) 3.0667 (1.35) 0.3448 (1.70) 3.0249 (1.34) 0.0750 (1.63) 500;3809 326,078.9063 (0.74) 38231 1
test_parse_units[True-angstrom] 3.3090 (1.54) 50.2280 (4.88) 3.4600 (1.52) 0.3195 (1.58) 3.4360 (1.52) 0.0531 (1.15) 625;3925 289,020.1594 (0.66) 116769 1
test_parse_units[True-second] 3.3240 (1.54) 30.4581 (2.96) 3.5331 (1.55) 0.3060 (1.51) 3.5040 (1.55) 0.0650 (1.41) 1135;7739 283,040.7270 (0.64) 126823 1
test_parse_units[True-meter] 3.3451 (1.55) 19.6219 (1.91) 3.5289 (1.55) 0.2973 (1.47) 3.4990 (1.55) 0.0601 (1.31) 986;8045 283,371.5849 (0.64) 124348 1
test_parse_units[False-second] 3.3471 (1.55) 50.1170 (4.87) 3.4913 (1.53) 0.3898 (1.92) 3.4660 (1.53) 0.0549 (1.19) 146;1107 286,425.1056 (0.65) 35574 1
test_parse_units[True-millisecond] 3.3490 (1.55) 32.4060 (3.15) 3.5567 (1.56) 0.3227 (1.59) 3.5220 (1.56) 0.0820 (1.78) 3848;8683 281,162.1450 (0.64) 139802 1
test_parse_units[True-minute] 3.3501 (1.55) 20.3670 (1.98) 3.5098 (1.54) 0.3037 (1.50) 3.4790 (1.54) 0.0590 (1.28) 3345;5572 284,919.8514 (0.65) 126327 1
test_parse_units[True-kilometer] 3.3510 (1.55) 27.2440 (2.65) 3.5105 (1.54) 0.2874 (1.42) 3.4899 (1.54) 0.0620 (1.35) 608;3187 284,861.8302 (0.65) 142634 1
test_parse_units[False-millisecond] 3.3630 (1.56) 34.1400 (3.32) 3.4842 (1.53) 0.4204 (2.08) 3.4600 (1.53) 0.0482 (1.05) 39;227 287,012.6725 (0.65) 9677 1
test_parse_units[False-meter] 3.3870 (1.57) 12.1041 (1.18) 3.5324 (1.55) 0.2771 (1.37) 3.5131 (1.55) 0.0522 (1.13) 130;663 283,093.2234 (0.64) 33031 1
test_parse_units[False-minute] 3.3891 (1.57) 11.8889 (1.15) 3.5396 (1.56) 0.2660 (1.31) 3.5210 (1.56) 0.0531 (1.15) 128;603 282,515.3596 (0.64) 34164 1
test_parse_units[False-angstrom] 3.3900 (1.57) 11.6370 (1.13) 3.5557 (1.56) 0.2832 (1.40) 3.5351 (1.56) 0.0590 (1.28) 150;594 281,239.7066 (0.64) 35561 1
test_parse_units[False-kilometer] 3.4090 (1.58) 10.2951 (1.0) 3.5427 (1.56) 0.2616 (1.29) 3.5240 (1.56) 0.0530 (1.15) 37;197 282,269.9783 (0.64) 9436 1
test_op2[lt-keys3] 4.2011 (1.95) 21.3491 (2.07) 4.4766 (1.97) 0.3730 (1.84) 4.4270 (1.96) 0.0991 (2.15) 695;5434 223,383.8848 (0.51) 49274 1
test_op2[lt-keys0] 4.2140 (1.96) 14.9240 (1.45) 4.4506 (1.96) 0.3122 (1.54) 4.4260 (1.96) 0.0820 (1.78) 245;1108 224,686.9945 (0.51) 39978 1
test_op2[lt-keys4] 4.6639 (2.16) 14.1150 (1.37) 4.9146 (2.16) 0.3353 (1.66) 4.8870 (2.16) 0.0860 (1.87) 283;1024 203,474.4029 (0.46) 47978 1
test_op2[lt-keys7] 4.6710 (2.17) 13.8620 (1.35) 4.9266 (2.16) 0.3195 (1.58) 4.9020 (2.17) 0.0880 (1.91) 268;897 202,979.0666 (0.46) 50328 1
test_op2[eq-keys7] 4.8660 (2.26) 33.3420 (3.24) 5.1436 (2.26) 0.3496 (1.73) 5.1190 (2.26) 0.0839 (1.83) 507;1226 194,415.7767 (0.44) 64864 1
test_op2[eq-keys0] 4.8680 (2.26) 26.4220 (2.57) 5.1036 (2.24) 0.4799 (2.37) 5.0550 (2.23) 0.0770 (1.67) 340;3540 195,940.7526 (0.45) 52615 1
test_op2[eq-keys11] 4.8759 (2.26) 14.6190 (1.42) 5.1331 (2.26) 0.3236 (1.60) 5.1101 (2.26) 0.0850 (1.85) 365;961 194,812.5255 (0.44) 62097 1
test_op2[eq-keys31] 4.8809 (2.26) 60.6531 (5.89) 5.1473 (2.26) 0.4518 (2.23) 5.1160 (2.26) 0.0879 (1.91) 859;1741 194,274.9031 (0.44) 61931 1
test_op2[eq-keys24] 4.8880 (2.27) 56.1511 (5.45) 5.1279 (2.25) 0.4100 (2.02) 5.0990 (2.25) 0.0830 (1.81) 339;1157 195,011.1879 (0.44) 59949 1
test_op2[eq-keys28] 4.8920 (2.27) 61.8880 (6.01) 5.1692 (2.27) 0.4498 (2.22) 5.1231 (2.26) 0.0818 (1.78) 758;4238 193,452.3467 (0.44) 64667 1
test_op2[eq-keys21] 4.8929 (2.27) 22.1020 (2.15) 5.1451 (2.26) 0.3464 (1.71) 5.1180 (2.26) 0.0990 (2.15) 402;1086 194,358.0351 (0.44) 64801 1
test_op2[eq-keys35] 4.8950 (2.27) 59.4700 (5.78) 5.1584 (2.27) 0.4375 (2.16) 5.1120 (2.26) 0.0910 (1.98) 987;5011 193,857.1607 (0.44) 65096 1
test_op2[eq-keys12] 4.9010 (2.27) 59.1910 (5.75) 5.2074 (2.29) 0.4526 (2.23) 5.1500 (2.28) 0.1040 (2.26) 2143;5952 192,033.4353 (0.44) 64025 1
test_op2[eq-keys26] 4.9151 (2.28) 20.0040 (1.94) 5.1716 (2.27) 0.3286 (1.62) 5.1480 (2.27) 0.0880 (1.91) 334;819 193,362.0757 (0.44) 60599 1
test_op2[eq-keys14] 4.9210 (2.28) 23.4840 (2.28) 5.1424 (2.26) 0.3045 (1.50) 5.1161 (2.26) 0.0910 (1.98) 353;955 194,460.2441 (0.44) 61279 1
test_op2[eq-keys2] 4.9210 (2.28) 51.2400 (4.98) 5.2003 (2.28) 0.5447 (2.69) 5.1210 (2.26) 0.0959 (2.09) 508;8963 192,296.9170 (0.44) 59524 1
test_op2[eq-keys23] 4.9240 (2.28) 46.0750 (4.48) 5.1888 (2.28) 0.3899 (1.92) 5.1610 (2.28) 0.0981 (2.13) 445;1366 192,723.7461 (0.44) 61547 1
test_op2[eq-keys9] 4.9360 (2.29) 60.6300 (5.89) 5.2015 (2.29) 0.4701 (2.32) 5.1550 (2.28) 0.0790 (1.72) 671;3902 192,253.1008 (0.44) 62941 1
test_op2[eq-keys16] 4.9390 (2.29) 46.9510 (4.56) 5.1633 (2.27) 0.3682 (1.82) 5.1340 (2.27) 0.0871 (1.89) 465;1472 193,675.1969 (0.44) 61185 1
test_op2[eq-keys4] 4.9530 (2.30) 28.0880 (2.73) 5.2847 (2.32) 0.5198 (2.57) 5.1830 (2.29) 0.1352 (2.94) 717;11163 189,224.8431 (0.43) 60039 1
test_op2[eq-keys19] 4.9811 (2.31) 54.0761 (5.25) 5.2615 (2.31) 0.4678 (2.31) 5.2000 (2.30) 0.0960 (2.09) 2521;5378 190,060.1884 (0.43) 64738 1
test_op2[eq-keys33] 5.1020 (2.37) 20.1480 (1.96) 5.3578 (2.35) 0.3372 (1.66) 5.3321 (2.36) 0.0971 (2.11) 345;744 186,644.9225 (0.42) 61174 1
test_op1[neg-float_kilometer] 5.8149 (2.70) 54.0600 (5.25) 6.1058 (2.68) 0.5097 (2.52) 6.0251 (2.66) 0.0990 (2.15) 2777;4988 163,779.8291 (0.37) 50935 1
test_op1[neg-float_meter] 5.8380 (2.71) 17.1841 (1.67) 6.0737 (2.67) 0.3604 (1.78) 6.0441 (2.67) 0.0859 (1.87) 336;749 164,643.9279 (0.37) 53246 1
test_op1[neg-complex_meter] 5.8410 (2.71) 27.2890 (2.65) 6.0852 (2.67) 0.4179 (2.06) 6.0450 (2.67) 0.0841 (1.83) 920;1480 164,332.2109 (0.37) 51811 1
test_op1[neg-complex_kilometer] 5.8470 (2.71) 32.8530 (3.19) 6.1507 (2.70) 0.4734 (2.34) 6.0910 (2.69) 0.0920 (2.00) 2199;3045 162,582.5284 (0.37) 51499 1
test_op1[neg-int_kilometer] 5.8570 (2.72) 28.8740 (2.80) 6.1070 (2.68) 0.4121 (2.03) 6.0600 (2.68) 0.0810 (1.76) 906;2738 163,745.8298 (0.37) 51957 1
test_op1[neg-int_meter] 5.8759 (2.73) 24.0580 (2.34) 6.1586 (2.71) 0.4261 (2.10) 6.0820 (2.69) 0.0930 (2.02) 3077;5098 162,375.4143 (0.37) 48354 1
test_getattr[True-meter] 6.4400 (2.99) 36.2550 (3.52) 6.7152 (2.95) 0.3862 (1.91) 6.6840 (2.95) 0.0870 (1.89) 521;1020 148,916.6099 (0.34) 72125 1
test_build_by_mul[int] 6.4670 (3.00) 19.0409 (1.85) 6.7430 (2.96) 0.3954 (1.95) 6.7070 (2.96) 0.0880 (1.91) 413;1043 148,301.4034 (0.34) 55929 1
test_getattr[True-angstrom] 6.4960 (3.01) 23.5679 (2.29) 6.7477 (2.96) 0.4276 (2.11) 6.7080 (2.96) 0.0831 (1.81) 629;1919 148,197.6834 (0.34) 70029 1
test_getattr[False-meter] 6.5219 (3.03) 19.1550 (1.86) 6.7733 (2.98) 0.3758 (1.86) 6.7401 (2.98) 0.0868 (1.89) 201;519 147,638.6600 (0.34) 25733 1
test_getattr[False-minute] 6.5289 (3.03) 27.9720 (2.72) 6.7920 (2.98) 0.4484 (2.21) 6.7480 (2.98) 0.0790 (1.72) 377;944 147,231.9381 (0.34) 27123 1
test_getattr[True-kilometer] 6.5321 (3.03) 36.7890 (3.57) 6.9991 (3.08) 0.8202 (4.05) 6.8321 (3.02) 0.1540 (3.35) 1369;14647 142,874.8568 (0.33) 72570 1
test_getattr[False-angstrom] 6.5580 (3.04) 48.5000 (4.71) 6.7953 (2.99) 0.4589 (2.27) 6.7579 (2.99) 0.0790 (1.72) 286;789 147,160.4879 (0.33) 27970 1
test_getattr[True-second] 6.5840 (3.06) 39.9140 (3.88) 6.9027 (3.03) 0.4494 (2.22) 6.8661 (3.03) 0.1009 (2.19) 695;1479 144,870.0024 (0.33) 74102 1
test_getattr[False-second] 6.5931 (3.06) 26.4189 (2.57) 6.8444 (3.01) 0.4297 (2.12) 6.8060 (3.01) 0.0930 (2.02) 207;532 146,103.8114 (0.33) 26386 1
test_build_by_mul[float] 6.6019 (3.06) 24.2130 (2.35) 6.8873 (3.03) 0.4483 (2.21) 6.8230 (3.02) 0.1109 (2.41) 1688;4525 145,194.0341 (0.33) 57881 1
test_getattr[True-millisecond] 6.6110 (3.07) 53.2090 (5.17) 6.9144 (3.04) 0.5330 (2.63) 6.8290 (3.02) 0.0970 (2.11) 971;8551 144,626.4108 (0.33) 72151 1
test_getattr[False-millisecond] 6.6309 (3.08) 53.3330 (5.18) 6.8729 (3.02) 0.6992 (3.45) 6.8130 (3.01) 0.0866 (1.88) 79;388 145,498.7916 (0.33) 8920 1
test_finding_meter_getattr 6.6321 (3.08) 59.1180 (5.74) 6.9477 (3.05) 0.5062 (2.50) 6.8829 (3.04) 0.1150 (2.50) 834;4386 143,932.0254 (0.33) 51039 1
test_base_units[True-kilometer/second] 6.6509 (3.09) 30.4719 (2.96) 7.1148 (3.13) 0.6869 (3.39) 6.8931 (3.05) 0.5291 (11.51) 607;516 140,551.7101 (0.32) 47464 1
test_base_units[False-angstrom/minute] 6.6520 (3.09) 27.8290 (2.70) 6.9070 (3.03) 0.5877 (2.90) 6.8360 (3.02) 0.0820 (1.78) 128;1102 144,780.8094 (0.33) 15079 1
test_base_units[meter/second] 6.6550 (3.09) 18.5079 (1.80) 6.9171 (3.04) 0.4979 (2.46) 6.8725 (3.04) 0.0951 (2.07) 51;85 144,569.1572 (0.33) 5464 1
test_base_units[True-angstrom/minute] 6.7520 (3.13) 27.8860 (2.71) 7.0448 (3.10) 0.5623 (2.78) 6.9760 (3.08) 0.0900 (1.96) 1049;5695 141,949.2321 (0.32) 76653 1
test_getattr[True-minute] 6.8040 (3.16) 36.9491 (3.59) 7.0661 (3.10) 0.5492 (2.71) 7.0040 (3.10) 0.0790 (1.72) 1617;2921 141,521.2584 (0.32) 65907 1
test_base_units[angstrom/minute] 6.8200 (3.16) 17.7510 (1.72) 7.0260 (3.09) 0.3235 (1.60) 6.9999 (3.09) 0.0830 (1.81) 46;87 142,329.0291 (0.32) 5303 1
test_op1[neg-short_array_kilometer] 6.8770 (3.19) 54.6321 (5.31) 7.2182 (3.17) 0.6194 (3.06) 7.1030 (3.14) 0.1061 (2.31) 2288;4328 138,539.2784 (0.32) 36641 1
test_getattr[False-kilometer] 6.8940 (3.20) 23.7710 (2.31) 7.3131 (3.21) 0.5602 (2.77) 7.1269 (3.15) 0.5009 (10.89) 224;67 136,740.3013 (0.31) 8644 1
test_op1[neg-short_array_meter] 7.0580 (3.28) 34.0270 (3.31) 7.3644 (3.24) 0.4313 (2.13) 7.3260 (3.24) 0.1030 (2.24) 187;614 135,788.3873 (0.31) 23571 1
test_base_units[False-kilometer/second] 7.1699 (3.33) 23.8860 (2.32) 7.4452 (3.27) 0.5713 (2.82) 7.3740 (3.26) 0.0900 (1.96) 90;490 134,314.2110 (0.31) 7094 1
test_op1[neg-mid_array_kilometer] 7.6260 (3.54) 23.0810 (2.24) 7.9430 (3.49) 0.4674 (2.31) 7.8981 (3.49) 0.1029 (2.24) 333;893 125,896.9715 (0.29) 35099 1
test_base_units[True-angstrom] 8.0840 (3.75) 47.7590 (4.64) 8.4685 (3.72) 0.7465 (3.69) 8.3660 (3.70) 0.1190 (2.59) 1805;6059 118,084.4574 (0.27) 72255 1
test_base_units[meter] 8.1081 (3.76) 71.0840 (6.90) 8.4942 (3.73) 0.6329 (3.12) 8.4051 (3.71) 0.1150 (2.50) 723;3460 117,727.5461 (0.27) 34975 1
test_op1[neg-mid_array_meter] 8.1309 (3.77) 22.3040 (2.17) 8.4213 (3.70) 0.4300 (2.12) 8.3770 (3.70) 0.1059 (2.30) 464;1076 118,746.1923 (0.27) 35559 1
test_base_units[False-meter] 8.1360 (3.78) 25.9010 (2.52) 8.6330 (3.79) 0.7064 (3.49) 8.4970 (3.75) 0.1460 (3.17) 783;5314 115,834.8011 (0.26) 31200 1
test_base_units[True-meter] 8.1729 (3.79) 41.3270 (4.01) 8.5861 (3.77) 0.7714 (3.81) 8.4500 (3.73) 0.1290 (2.81) 2364;8412 116,467.3939 (0.27) 68251 1
test_base_units[False-angstrom] 8.2019 (3.81) 55.4411 (5.39) 8.5572 (3.76) 0.7044 (3.48) 8.4720 (3.74) 0.1111 (2.42) 326;2272 116,860.7602 (0.27) 31073 1
test_op2[eq-keys3] 8.4520 (3.92) 62.3980 (6.06) 8.8895 (3.91) 0.7083 (3.50) 8.7610 (3.87) 0.1339 (2.91) 787;3688 112,491.7742 (0.26) 28746 1
test_op2[eq-keys0] 8.5310 (3.96) 18.0190 (1.75) 8.8249 (3.88) 0.4920 (2.43) 8.7710 (3.88) 0.1031 (2.24) 187;395 113,315.7846 (0.26) 12847 1
test_base_units[angstrom] 8.5660 (3.97) 24.4711 (2.38) 8.8615 (3.89) 0.4678 (2.31) 8.8190 (3.90) 0.0930 (2.02) 65;103 112,847.7845 (0.26) 6751 1
test_op2[eq-keys7] 9.1310 (4.24) 30.6880 (2.98) 9.6575 (4.24) 0.8262 (4.08) 9.4359 (4.17) 0.1390 (3.02) 2333;3836 103,546.7835 (0.24) 28147 1
test_convert_from_uc[True-key0] 9.6409 (4.47) 54.9069 (5.33) 10.0446 (4.41) 0.7434 (3.67) 9.9071 (4.38) 0.1240 (2.70) 1514;7190 99,555.8500 (0.23) 59436 1
test_convert_from_uc[False-key0] 9.6649 (4.48) 34.9600 (3.40) 10.0750 (4.43) 0.8512 (4.20) 9.9509 (4.40) 0.1290 (2.81) 276;1091 99,255.0988 (0.23) 12353 1
test_op2[eq-keys4] 10.0411 (4.66) 27.6749 (2.69) 10.3724 (4.56) 0.5703 (2.82) 10.3100 (4.56) 0.1130 (2.46) 351;850 96,409.7973 (0.22) 25860 1
test_to_units_container_detached[False-angstrom/minute] 13.1350 (6.09) 44.0070 (4.27) 13.6983 (6.02) 0.8437 (4.17) 13.5450 (5.99) 0.2070 (4.50) 1131;2403 73,001.8399 (0.17) 30310 1
test_to_units_container_detached[True-kilometer/second] 13.2089 (6.13) 37.8139 (3.67) 13.8824 (6.10) 0.9517 (4.70) 13.6610 (6.04) 0.2580 (5.61) 2882;5433 72,033.7665 (0.16) 44685 1
test_to_units_container_detached[True-angstrom/minute] 13.2450 (6.15) 43.8089 (4.26) 13.8460 (6.08) 0.8878 (4.38) 13.7109 (6.06) 0.1841 (4.00) 1653;3570 72,223.2039 (0.16) 45828 1
test_convert_from_uc[True-key1] 13.2751 (6.16) 53.9600 (5.24) 13.8823 (6.10) 1.0189 (5.03) 13.6649 (6.04) 0.1680 (3.65) 2887;6280 72,034.1156 (0.16) 48874 1
test_to_units_container_registry[False-angstrom/minute] 13.2979 (6.17) 35.9220 (3.49) 13.9703 (6.14) 0.9438 (4.66) 13.7490 (6.08) 0.2099 (4.56) 1938;4238 71,580.5022 (0.16) 30273 1
test_to_units_container_registry[True-kilometer/second] 13.3190 (6.18) 60.2531 (5.85) 14.0476 (6.17) 0.9448 (4.66) 13.8720 (6.13) 0.2671 (5.81) 1878;5203 71,186.3380 (0.16) 43688 1
test_to_units_container_registry[True-angstrom/minute] 13.3200 (6.18) 51.2791 (4.98) 13.9975 (6.15) 0.9822 (4.85) 13.7901 (6.09) 0.1850 (4.02) 2499;5521 71,441.4356 (0.16) 43013 1
test_to_units_container_detached[False-kilometer/second] 13.3750 (6.21) 33.4179 (3.25) 13.9916 (6.15) 0.9357 (4.62) 13.8310 (6.11) 0.2240 (4.87) 293;727 71,471.4236 (0.16) 8337 1
test_to_units_container_registry[False-kilometer/second] 13.4110 (6.22) 30.8009 (2.99) 13.8768 (6.10) 0.7757 (3.83) 13.7460 (6.07) 0.1519 (3.30) 502;690 72,062.8126 (0.16) 9040 1
test_convert_from_uc[False-key1] 13.4349 (6.23) 34.2730 (3.33) 13.9352 (6.12) 0.9466 (4.67) 13.7680 (6.08) 0.1319 (2.87) 330;814 71,760.9199 (0.16) 9009 1
test_wrapper[float_kilometer] 13.9311 (6.46) 68.6049 (6.66) 14.4189 (6.33) 0.8688 (4.29) 14.3370 (6.34) 0.1350 (2.94) 179;394 69,353.2729 (0.16) 11577 1
test_wrapper[int_meter] 13.9449 (6.47) 39.3920 (3.83) 14.4457 (6.35) 0.7056 (3.48) 14.3349 (6.33) 0.2740 (5.96) 249;280 69,224.6695 (0.16) 12150 1
test_wrapper[complex_kilometer] 13.9520 (6.47) 46.3580 (4.50) 14.4351 (6.34) 0.7373 (3.64) 14.3510 (6.34) 0.1810 (3.94) 183;301 69,275.7718 (0.16) 11278 1
test_wrapper[int_kilometer] 13.9930 (6.49) 30.3451 (2.95) 14.4020 (6.33) 0.5885 (2.91) 14.3190 (6.33) 0.1839 (4.00) 171;222 69,434.9924 (0.16) 11032 1
test_wrapper[complex_meter] 14.1350 (6.56) 39.4740 (3.83) 14.8232 (6.51) 0.8994 (4.44) 14.5719 (6.44) 0.2621 (5.70) 593;2640 67,461.8011 (0.15) 13223 1
test_wrapper[float_meter] 14.1900 (6.58) 37.6020 (3.65) 14.6381 (6.43) 0.6467 (3.19) 14.5601 (6.43) 0.1501 (3.26) 183;332 68,315.0205 (0.16) 11807 1
test_op2[sub-keys2] 14.4920 (6.72) 49.9510 (4.85) 15.2868 (6.72) 1.0747 (5.31) 14.9460 (6.60) 0.3080 (6.70) 1880;4374 65,415.9062 (0.15) 20106 1
test_op2[sub-keys21] 14.5551 (6.75) 39.0050 (3.79) 15.2655 (6.71) 1.0440 (5.15) 14.9800 (6.62) 0.3690 (8.03) 554;2848 65,507.3637 (0.15) 14283 1
test_op2[sub-keys23] 14.5901 (6.77) 50.9280 (4.95) 15.1934 (6.68) 0.9790 (4.83) 15.0229 (6.64) 0.2820 (6.13) 566;1210 65,818.0218 (0.15) 15912 1
test_op2[sub-keys31] 14.6270 (6.79) 39.7420 (3.86) 15.2829 (6.71) 1.0082 (4.98) 15.0501 (6.65) 0.2200 (4.78) 563;2404 65,432.4480 (0.15) 15957 1
test_op2[sub-keys9] 14.6329 (6.79) 39.0870 (3.80) 15.1876 (6.67) 0.8893 (4.39) 15.0329 (6.64) 0.1830 (3.98) 762;1250 65,843.3719 (0.15) 16184 1
test_op2[sub-keys7] 14.6370 (6.79) 60.7420 (5.90) 15.4288 (6.78) 1.0855 (5.36) 15.1390 (6.69) 0.2650 (5.76) 762;3358 64,813.6883 (0.15) 16425 1
test_op2[sub-keys14] 14.6450 (6.80) 60.5640 (5.88) 15.4296 (6.78) 1.1918 (5.88) 15.0481 (6.65) 0.3291 (7.16) 1841;4743 64,810.2987 (0.15) 20926 1
test_op2[sub-keys26] 14.6710 (6.81) 43.1240 (4.19) 15.2023 (6.68) 0.9441 (4.66) 15.0340 (6.64) 0.1751 (3.81) 684;1708 65,779.4821 (0.15) 19565 1
test_op2[add-keys14] 14.6821 (6.81) 38.9371 (3.78) 15.1824 (6.67) 0.6555 (3.24) 15.1040 (6.67) 0.1490 (3.24) 387;608 65,865.8082 (0.15) 20895 1
test_op2[add-keys0] 14.6941 (6.82) 39.0770 (3.80) 15.2853 (6.72) 0.6359 (3.14) 15.2020 (6.72) 0.1980 (4.31) 286;375 65,422.3254 (0.15) 17572 1
test_op2[sub-keys19] 14.6959 (6.82) 38.1081 (3.70) 15.2205 (6.69) 0.9127 (4.51) 15.0619 (6.66) 0.1580 (3.44) 652;1376 65,700.7329 (0.15) 15831 1
test_op2[sub-keys11] 14.7120 (6.83) 38.6090 (3.75) 15.5093 (6.81) 1.1793 (5.82) 15.1700 (6.70) 0.2820 (6.13) 904;3332 64,477.2895 (0.15) 15610 1
test_op2[add-keys35] 14.7170 (6.83) 39.6660 (3.85) 15.3268 (6.73) 1.0678 (5.27) 15.1261 (6.68) 0.2510 (5.46) 690;1574 65,245.2551 (0.15) 16425 1
test_op2[sub-keys4] 14.7191 (6.83) 39.1350 (3.80) 15.3757 (6.76) 1.0974 (5.42) 15.1050 (6.67) 0.2519 (5.48) 869;2992 65,037.6926 (0.15) 19121 1
test_op2[sub-keys12] 14.7379 (6.84) 38.2910 (3.72) 15.2849 (6.72) 0.9065 (4.47) 15.1240 (6.68) 0.1809 (3.93) 998;1578 65,424.2373 (0.15) 19592 1
test_op2[add-keys28] 14.7449 (6.84) 39.7940 (3.87) 15.3891 (6.76) 0.8264 (4.08) 15.2780 (6.75) 0.1850 (4.02) 727;1174 64,981.1063 (0.15) 20886 1
test_op2[sub-keys28] 14.7501 (6.84) 51.2360 (4.98) 15.5060 (6.81) 1.0379 (5.12) 15.2440 (6.74) 0.2041 (4.44) 1671;3306 64,490.9943 (0.15) 21262 1
test_parse_unit_name[True-second] 14.7570 (6.85) 59.8440 (5.81) 15.3051 (6.72) 0.8202 (4.05) 15.1710 (6.70) 0.1572 (3.42) 2802;3242 65,337.5380 (0.15) 52939 1
test_op2[sub-keys24] 14.7590 (6.85) 37.9190 (3.68) 15.4527 (6.79) 1.0570 (5.22) 15.2111 (6.72) 0.2610 (5.68) 1421;2741 64,713.5533 (0.15) 19825 1
test_op2[add-keys19] 14.7680 (6.85) 38.3139 (3.72) 15.3833 (6.76) 0.8473 (4.18) 15.1620 (6.70) 0.1870 (4.07) 949;2436 65,005.7250 (0.15) 15655 1
test_op2[add-keys2] 14.7900 (6.86) 42.3680 (4.12) 15.3860 (6.76) 0.8481 (4.19) 15.2000 (6.72) 0.1790 (3.89) 1136;2424 64,994.3392 (0.15) 19346 1
test_op2[add-keys21] 14.7950 (6.87) 38.3820 (3.73) 15.3157 (6.73) 0.6389 (3.15) 15.2370 (6.73) 0.1671 (3.63) 266;409 65,292.6573 (0.15) 16092 1
test_op2[sub-keys33] 14.8159 (6.87) 38.7240 (3.76) 15.3715 (6.75) 0.8787 (4.34) 15.2220 (6.73) 0.1839 (4.00) 671;1049 65,055.3810 (0.15) 13679 1
test_op2[sub-keys16] 14.8171 (6.88) 39.1641 (3.80) 15.3464 (6.74) 0.8784 (4.34) 15.1980 (6.72) 0.1770 (3.85) 971;1481 65,161.7180 (0.15) 19284 1
test_op2[sub-keys35] 14.8340 (6.88) 2,148.0831 (208.65) 15.6432 (6.87) 17.6279 (87.02) 15.2680 (6.75) 0.1980 (4.31) 6;1921 63,925.4067 (0.15) 14685 1
test_op2[add-keys4] 14.8470 (6.89) 39.0691 (3.79) 15.3896 (6.76) 0.7519 (3.71) 15.2910 (6.76) 0.1780 (3.87) 634;742 64,978.7696 (0.15) 19040 1
test_parse_unit_name[False-second] 14.8620 (6.90) 60.2059 (5.85) 15.3042 (6.72) 0.6813 (3.36) 15.2300 (6.73) 0.1561 (3.39) 710;955 65,341.6909 (0.15) 41455 1
test_op2[add-keys11] 14.8660 (6.90) 40.4409 (3.93) 15.3752 (6.76) 0.6720 (3.32) 15.2980 (6.76) 0.1721 (3.74) 251;405 65,039.9901 (0.15) 15185 1
test_op2[add-keys33] 14.8920 (6.91) 44.7569 (4.35) 15.7312 (6.91) 1.2102 (5.97) 15.3530 (6.78) 0.3160 (6.87) 1445;2953 63,568.0709 (0.14) 14048 1
test_op2[add-keys26] 14.8939 (6.91) 41.7680 (4.06) 15.5913 (6.85) 0.8792 (4.34) 15.3950 (6.80) 0.2441 (5.31) 1690;2117 64,138.4801 (0.15) 19100 1
test_op2[add-keys24] 14.9159 (6.92) 39.1060 (3.80) 15.3854 (6.76) 0.7015 (3.46) 15.2971 (6.76) 0.1560 (3.39) 359;631 64,996.8078 (0.15) 18585 1
test_op2[add-keys7] 14.9270 (6.93) 39.8130 (3.87) 15.4215 (6.78) 0.6899 (3.41) 15.3399 (6.78) 0.1561 (3.39) 272;534 64,844.7226 (0.15) 16103 1
test_op2[add-keys23] 14.9310 (6.93) 56.0881 (5.45) 15.6007 (6.85) 0.9093 (4.49) 15.3930 (6.80) 0.1921 (4.18) 1031;1994 64,099.7581 (0.15) 15325 1
test_op2[add-keys31] 15.0281 (6.97) 44.9941 (4.37) 15.5802 (6.85) 1.0458 (5.16) 15.3780 (6.80) 0.1710 (3.72) 579;1597 64,183.9180 (0.15) 15413 1
test_op2[add-keys12] 15.0730 (6.99) 39.4100 (3.83) 15.6941 (6.90) 0.8085 (3.99) 15.5340 (6.86) 0.2050 (4.46) 1173;1978 63,718.2294 (0.15) 19075 1
test_op2[sub-keys0] 15.1030 (7.01) 58.7859 (5.71) 15.7267 (6.91) 1.0402 (5.14) 15.4910 (6.85) 0.1970 (4.28) 718;2681 63,585.9849 (0.14) 19339 1
test_op2[add-keys9] 15.1050 (7.01) 64.0310 (6.22) 15.7398 (6.92) 0.9494 (4.69) 15.5229 (6.86) 0.2300 (5.00) 625;2425 63,533.2954 (0.14) 15329 1
test_op2[add-keys16] 15.1830 (7.05) 59.4479 (5.77) 15.8136 (6.95) 0.8702 (4.30) 15.6150 (6.90) 0.2109 (4.59) 1406;2214 63,236.5116 (0.14) 18391 1
test_op2[add0-keys3] 16.0530 (7.45) 57.5579 (5.59) 16.7935 (7.38) 1.0122 (5.00) 16.5320 (7.31) 0.2569 (5.59) 870;2086 59,546.8397 (0.14) 13522 1
test_op2[sub-keys0] 16.0570 (7.45) 45.4190 (4.41) 16.5918 (7.29) 0.7848 (3.87) 16.4930 (7.29) 0.1640 (3.57) 348;638 60,270.7921 (0.14) 16924 1
test_op2[sub-keys3] 16.0850 (7.46) 44.4810 (4.32) 16.5637 (7.28) 0.7420 (3.66) 16.4720 (7.28) 0.1630 (3.54) 246;578 60,373.0386 (0.14) 13911 1
test_op2[add0-keys0] 16.0871 (7.46) 42.9200 (4.17) 16.5851 (7.29) 0.7942 (3.92) 16.4779 (7.28) 0.1730 (3.76) 322;775 60,294.9850 (0.14) 15061 1
test_parse_unit_name[True-minute] 16.2650 (7.55) 46.2260 (4.49) 16.7863 (7.38) 0.7120 (3.51) 16.6720 (7.37) 0.1411 (3.07) 2406;2643 59,572.3307 (0.14) 48915 1
test_parse_unit_name[True-meter] 16.2871 (7.56) 46.6990 (4.54) 16.7909 (7.38) 0.7843 (3.87) 16.6571 (7.36) 0.1310 (2.85) 2533;2745 59,556.2091 (0.14) 47747 1
test_parse_unit_name[False-angstrom] 16.2990 (7.56) 46.4490 (4.51) 16.8264 (7.39) 0.7667 (3.79) 16.6760 (7.37) 0.1510 (3.28) 2948;3145 59,430.5197 (0.14) 37911 1
test_parse_unit_name[True-angstrom] 16.3079 (7.57) 45.3420 (4.40) 16.7591 (7.36) 0.7090 (3.50) 16.6741 (7.37) 0.1409 (3.06) 971;1306 59,668.9081 (0.14) 47124 1
test_parse_unit_name[False-minute] 16.3161 (7.57) 50.1169 (4.87) 16.8306 (7.39) 0.7913 (3.91) 16.6870 (7.37) 0.1371 (2.98) 2616;2904 59,415.4167 (0.14) 38211 1
test_parse_unit_name[False-meter] 16.4129 (7.62) 2,862.1140 (278.01) 17.0156 (7.48) 14.8935 (73.52) 16.7850 (7.42) 0.1421 (3.09) 18;2676 58,769.7396 (0.13) 36618 1
test_op2[eq-keys29] 17.3961 (8.07) 35.2270 (3.42) 17.9375 (7.88) 0.7032 (3.47) 17.8380 (7.88) 0.1721 (3.74) 235;405 55,749.0145 (0.13) 9903 1
test_op2[eq-keys32] 17.4011 (8.07) 45.2960 (4.40) 18.2707 (8.03) 1.0426 (5.15) 18.0011 (7.95) 0.5051 (10.98) 488;1471 54,732.3295 (0.12) 9331 1
test_op2[eq-keys30] 17.4280 (8.09) 30.5469 (2.97) 17.9856 (7.90) 0.7097 (3.50) 17.8800 (7.90) 0.1880 (4.09) 200;361 55,600.0924 (0.13) 9449 1
test_op2[sub-keys7] 17.4470 (8.10) 43.9079 (4.26) 18.0161 (7.92) 0.7785 (3.84) 17.9120 (7.92) 0.1710 (3.72) 264;581 55,505.8166 (0.13) 13875 1
test_op2[eq-keys34] 17.5150 (8.13) 49.7070 (4.83) 18.1378 (7.97) 0.8603 (4.25) 18.0290 (7.97) 0.2069 (4.50) 249;422 55,133.4790 (0.13) 10021 1
test_op2[eq-keys22] 17.5440 (8.14) 70.6189 (6.86) 18.2235 (8.01) 1.0509 (5.19) 17.9841 (7.95) 0.1990 (4.33) 693;1302 54,874.2497 (0.12) 10040 1
test_op2[eq-keys27] 17.5481 (8.14) 42.9830 (4.18) 18.1008 (7.95) 0.7835 (3.87) 17.9959 (7.95) 0.2290 (4.98) 246;334 55,246.0708 (0.13) 9844 1
test_op2[eq-keys13] 17.5569 (8.15) 44.7979 (4.35) 18.2044 (8.00) 0.7214 (3.56) 18.1191 (8.01) 0.1891 (4.11) 196;324 54,931.8822 (0.13) 9654 1
test_op2[eq-keys3] 17.5680 (8.15) 44.2381 (4.30) 18.2482 (8.02) 1.0620 (5.24) 18.0440 (7.97) 0.2120 (4.61) 493;867 54,799.9003 (0.12) 9222 1
test_op2[add0-keys7] 17.5770 (8.16) 43.7100 (4.25) 18.1791 (7.99) 0.7702 (3.80) 18.0721 (7.99) 0.1801 (3.92) 261;596 55,008.0795 (0.13) 13292 1
test_op2[eq-keys15] 17.5909 (8.16) 44.4910 (4.32) 18.3200 (8.05) 0.9505 (4.69) 18.0800 (7.99) 0.2129 (4.63) 1027;1294 54,585.0637 (0.12) 9347 1
test_parse_unit_name[True-kilometer] 17.5970 (8.17) 48.7061 (4.73) 18.0832 (7.94) 0.7717 (3.81) 17.9469 (7.93) 0.1420 (3.09) 1854;1972 55,299.9519 (0.13) 30368 1
test_op2[eq-keys10] 17.6029 (8.17) 42.2291 (4.10) 18.1010 (7.95) 0.7488 (3.70) 17.9940 (7.95) 0.1910 (4.15) 251;377 55,245.6843 (0.13) 9722 1
test_op2[eq-keys1] 17.6119 (8.17) 48.2040 (4.68) 18.3294 (8.05) 1.0451 (5.16) 18.1530 (8.02) 0.2120 (4.61) 453;717 54,557.2936 (0.12) 9144 1
test_op2[eq-keys6] 17.6220 (8.18) 36.7860 (3.57) 18.4523 (8.11) 1.1504 (5.68) 18.0689 (7.98) 0.2980 (6.48) 1098;1791 54,193.7320 (0.12) 10104 1
test_op2[eq-keys18] 17.6301 (8.18) 44.5821 (4.33) 18.2581 (8.02) 0.8480 (4.19) 18.1389 (8.02) 0.2641 (5.74) 340;369 54,770.3135 (0.12) 10265 1
test_op2[eq-keys17] 17.6370 (8.18) 28.4549 (2.76) 18.1629 (7.98) 0.6211 (3.07) 18.0791 (7.99) 0.1789 (3.89) 177;280 55,057.3615 (0.13) 9181 1
test_parse_unit_name[False-kilometer] 17.6500 (8.19) 49.6079 (4.82) 18.1818 (7.99) 0.8187 (4.04) 18.0290 (7.97) 0.1430 (3.11) 2207;2389 55,000.0503 (0.13) 35168 1
test_parse_unit_name[True-millisecond] 17.6640 (8.20) 51.3101 (4.98) 18.1948 (7.99) 0.7928 (3.91) 18.0610 (7.98) 0.1440 (3.13) 2223;2443 54,960.6262 (0.13) 46252 1
test_op2[eq-keys5] 17.6829 (8.21) 80.0239 (7.77) 18.4215 (8.09) 1.3975 (6.90) 18.1440 (8.02) 0.2523 (5.49) 538;1094 54,284.2980 (0.12) 9385 1
test_parse_unit_name[False-millisecond] 17.7081 (8.22) 73.5790 (7.15) 18.1723 (7.98) 0.7581 (3.74) 18.0810 (7.99) 0.1410 (3.07) 772;1032 55,028.7553 (0.13) 34086 1
test_op2[sub-keys4] 17.7190 (8.22) 52.9740 (5.15) 18.2870 (8.03) 0.7919 (3.91) 18.1830 (8.03) 0.1710 (3.72) 323;699 54,683.7381 (0.12) 16680 1
test_op2[eq-keys20] 17.7390 (8.23) 46.0140 (4.47) 18.3802 (8.08) 0.7657 (3.78) 18.2880 (8.08) 0.2931 (6.37) 203;246 54,406.2893 (0.12) 9879 1
test_op2[mul-keys31] 17.9360 (8.32) 79.7380 (7.75) 18.6214 (8.18) 0.8460 (4.18) 18.5190 (8.18) 0.2440 (5.31) 515;655 53,701.6454 (0.12) 23688 1
test_op2[eq-keys25] 17.9501 (8.33) 38.3280 (3.72) 18.7855 (8.25) 1.0196 (5.03) 18.4580 (8.16) 0.2860 (6.22) 938;1705 53,232.6543 (0.12) 9812 1
test_op2[mul-keys19] 17.9840 (8.34) 46.9880 (4.56) 18.6636 (8.20) 0.7698 (3.80) 18.5600 (8.20) 0.2359 (5.13) 645;974 53,580.1901 (0.12) 24989 1
test_op2[mul-keys0] 17.9920 (8.35) 56.0341 (5.44) 18.6721 (8.20) 0.9016 (4.45) 18.5320 (8.19) 0.2701 (5.87) 802;927 53,555.8697 (0.12) 23020 1
test_op2[eq-keys8] 18.0010 (8.35) 45.1640 (4.39) 18.6095 (8.18) 0.7835 (3.87) 18.5140 (8.18) 0.2250 (4.89) 197;308 53,736.0737 (0.12) 9866 1
test_op2[mul-keys7] 18.0340 (8.37) 70.9221 (6.89) 18.8001 (8.26) 0.9997 (4.94) 18.5859 (8.21) 0.2660 (5.78) 1819;2218 53,191.2245 (0.12) 24294 1
test_op2[mul-keys2] 18.0410 (8.37) 46.6200 (4.53) 18.6565 (8.20) 0.7637 (3.77) 18.5480 (8.20) 0.2201 (4.79) 513;799 53,600.6737 (0.12) 23072 1
test_op2[mul-keys35] 18.0471 (8.37) 73.0740 (7.10) 18.6904 (8.21) 0.9304 (4.59) 18.5199 (8.18) 0.2290 (4.98) 1526;1955 53,503.4464 (0.12) 25244 1
test_op2[add0-keys4] 18.0489 (8.38) 47.5020 (4.61) 18.5819 (8.16) 0.7325 (3.62) 18.4741 (8.16) 0.2031 (4.42) 330;703 53,815.9136 (0.12) 15700 1
test_op2[mul-keys11] 18.0759 (8.39) 64.5170 (6.27) 18.8033 (8.26) 1.0935 (5.40) 18.6120 (8.22) 0.2609 (5.67) 1195;1871 53,182.2608 (0.12) 23029 1
test_op2[mul-keys23] 18.0880 (8.39) 58.0261 (5.64) 18.8045 (8.26) 0.8427 (4.16) 18.7031 (8.26) 0.2391 (5.20) 668;799 53,178.6866 (0.12) 23957 1
test_op2[mul-keys16] 18.1020 (8.40) 79.0621 (7.68) 18.9776 (8.34) 1.3160 (6.50) 18.6530 (8.24) 0.2789 (6.07) 1709;3572 52,693.8006 (0.12) 22786 1
test_op2[mul-keys12] 18.1220 (8.41) 244.2830 (23.73) 19.1088 (8.40) 2.0406 (10.07) 18.7480 (8.28) 0.3219 (7.00) 532;3755 52,331.8963 (0.12) 20928 1
test_op2[mul-keys9] 18.1500 (8.42) 46.1219 (4.48) 18.8357 (8.28) 0.8770 (4.33) 18.6641 (8.25) 0.2390 (5.20) 1804;1889 53,090.6429 (0.12) 23634 1
test_op2[mul-keys29] 18.1580 (8.43) 47.5380 (4.62) 18.9929 (8.34) 0.7643 (3.77) 18.9170 (8.36) 0.2710 (5.89) 481;711 52,651.1523 (0.12) 23462 1
test_op2[mul-keys33] 18.1640 (8.43) 75.4481 (7.33) 18.8521 (8.28) 0.9777 (4.83) 18.7110 (8.27) 0.2520 (5.48) 819;950 53,044.4108 (0.12) 22330 1
test_op2[mul-keys14] 18.1730 (8.43) 78.8181 (7.66) 19.0456 (8.37) 1.3351 (6.59) 18.7301 (8.28) 0.2891 (6.29) 879;3783 52,505.6071 (0.12) 23537 1
test_op2[mul-keys8] 18.1739 (8.43) 83.5831 (8.12) 18.7777 (8.25) 0.9096 (4.49) 18.6490 (8.24) 0.2090 (4.54) 708;1116 53,254.6391 (0.12) 23446 1
test_op2[mul-keys28] 18.2040 (8.45) 100.4870 (9.76) 19.0202 (8.36) 1.1233 (5.55) 18.8090 (8.31) 0.2070 (4.50) 1662;2085 52,575.6218 (0.12) 24241 1
test_op2[mul-keys4] 18.2060 (8.45) 174.3630 (16.94) 18.7902 (8.26) 1.2929 (6.38) 18.6780 (8.25) 0.1990 (4.33) 471;1017 53,219.1657 (0.12) 22943 1
test_op2[mul-keys26] 18.2280 (8.46) 72.3740 (7.03) 18.8700 (8.29) 0.8973 (4.43) 18.7120 (8.27) 0.2090 (4.54) 1525;1810 52,994.1323 (0.12) 23964 1
test_op2[mul-keys30] 18.2639 (8.47) 47.3340 (4.60) 19.0283 (8.36) 0.9009 (4.45) 18.8165 (8.31) 0.2470 (5.37) 2120;2264 52,553.2228 (0.12) 22444 1
test_op2[mul-keys13] 18.2650 (8.48) 48.0401 (4.67) 18.9859 (8.34) 1.2313 (6.08) 18.7251 (8.27) 0.2130 (4.63) 1004;2774 52,670.5506 (0.12) 23525 1
test_op2[mul-keys21] 18.2680 (8.48) 47.0880 (4.57) 18.9513 (8.33) 0.7600 (3.75) 18.8580 (8.33) 0.2250 (4.89) 535;754 52,766.8438 (0.12) 24818 1
test_op2[mul-keys15] 18.2810 (8.48) 46.3300 (4.50) 19.1924 (8.43) 1.0792 (5.33) 18.9960 (8.39) 0.3221 (7.01) 1315;1866 52,104.0181 (0.12) 22293 1
test_op2[mul-keys34] 18.2990 (8.49) 45.6179 (4.43) 18.9314 (8.32) 0.7725 (3.81) 18.8181 (8.32) 0.2443 (5.31) 465;732 52,822.4205 (0.12) 22765 1
test_op2[mul-keys5] 18.3280 (8.50) 46.5930 (4.53) 19.0298 (8.36) 0.9268 (4.58) 18.8050 (8.31) 0.2490 (5.42) 2420;2819 52,549.2837 (0.12) 23446 1
test_op2[mul-keys32] 18.3730 (8.53) 55.7530 (5.42) 19.0599 (8.37) 0.9676 (4.78) 18.8689 (8.34) 0.2289 (4.98) 1363;1565 52,466.1909 (0.12) 23320 1
test_op2[mul-keys10] 18.4389 (8.56) 79.2950 (7.70) 19.0636 (8.38) 0.8738 (4.31) 18.9620 (8.38) 0.2520 (5.48) 684;850 52,456.0909 (0.12) 23187 1
test_op2[mul-keys27] 18.4560 (8.56) 45.5260 (4.42) 19.0777 (8.38) 0.7537 (3.72) 18.9809 (8.39) 0.2000 (4.35) 394;637 52,417.2937 (0.12) 19472 1
test_op2[mul-keys3] 18.4589 (8.57) 62.3710 (6.06) 19.1493 (8.41) 0.9362 (4.62) 18.9539 (8.38) 0.2420 (5.26) 1992;2318 52,221.3401 (0.12) 23181 1
test_parse_unit_name[False-ms] 18.6510 (8.65) 50.8301 (4.94) 19.2179 (8.44) 0.9766 (4.82) 19.0289 (8.41) 0.1510 (3.28) 2165;2331 52,034.9373 (0.12) 33039 1
test_parse_unit_name[True-ms] 18.6620 (8.66) 80.3310 (7.80) 19.2243 (8.45) 0.9128 (4.51) 19.0750 (8.43) 0.1510 (3.28) 2488;2716 52,017.3688 (0.12) 42595 1
test_op2[mul-keys24] 18.7239 (8.69) 115.3650 (11.21) 19.5263 (8.58) 1.2385 (6.11) 19.2890 (8.52) 0.2770 (6.02) 1681;2115 51,212.9317 (0.12) 22884 1
test_op2[mul-keys17] 18.7240 (8.69) 46.4619 (4.51) 19.4538 (8.55) 1.0638 (5.25) 19.2600 (8.51) 0.2302 (5.01) 1326;1789 51,403.8757 (0.12) 21225 1
test_op2[mul-keys1] 18.7301 (8.69) 102.3561 (9.94) 19.3965 (8.52) 1.0032 (4.95) 19.2601 (8.51) 0.2270 (4.94) 940;1138 51,555.6903 (0.12) 22478 1
test_op2[mul-keys20] 18.8550 (8.75) 78.1789 (7.59) 19.8092 (8.70) 1.0916 (5.39) 19.5820 (8.65) 0.2731 (5.94) 1914;2080 50,481.5526 (0.11) 22863 1
test_op2[mul-keys6] 19.0070 (8.82) 91.3180 (8.87) 19.7059 (8.66) 0.8972 (4.43) 19.5950 (8.66) 0.2211 (4.81) 564;837 50,746.2332 (0.12) 22870 1
test_op2[truediv-keys14] 19.0390 (8.83) 82.1230 (7.98) 19.9897 (8.78) 1.4966 (7.39) 19.6199 (8.67) 0.3461 (7.53) 1189;3708 50,025.6771 (0.11) 21635 1
test_op2[mul-keys25] 19.0401 (8.83) 49.4630 (4.80) 19.6689 (8.64) 0.7489 (3.70) 19.5659 (8.65) 0.1999 (4.35) 519;803 50,841.7009 (0.12) 22326 1
test_op2[mul-keys22] 19.0550 (8.84) 75.7859 (7.36) 19.7851 (8.69) 1.0117 (4.99) 19.5670 (8.65) 0.2340 (5.09) 2104;2340 50,542.9937 (0.12) 22455 1
test_op2[truediv-keys21] 19.0650 (8.85) 69.3550 (6.74) 19.8535 (8.72) 1.1237 (5.55) 19.6501 (8.68) 0.2460 (5.35) 1298;1911 50,369.0492 (0.11) 22182 1
test_op2[truediv-keys23] 19.0759 (8.85) 48.6261 (4.72) 19.8541 (8.72) 1.1069 (5.46) 19.6380 (8.68) 0.2331 (5.07) 1348;2016 50,367.3693 (0.11) 22204 1
test_op2[mul-keys18] 19.1400 (8.88) 77.4061 (7.52) 19.9918 (8.78) 1.2626 (6.23) 19.7090 (8.71) 0.2481 (5.39) 1272;2878 50,020.4406 (0.11) 22496 1
test_op2[truediv-keys26] 19.1510 (8.89) 74.3500 (7.22) 19.9953 (8.78) 1.2874 (6.36) 19.6720 (8.69) 0.2381 (5.18) 1629;3292 50,011.7921 (0.11) 22122 1
test_op2[truediv-keys15] 19.1870 (8.90) 51.5881 (5.01) 20.0347 (8.80) 1.2252 (6.05) 19.7560 (8.73) 0.2350 (5.11) 1428;2726 49,913.3592 (0.11) 22091 1
test_op2[truediv-keys35] 19.1900 (8.90) 63.1399 (6.13) 20.0682 (8.82) 1.2845 (6.34) 19.7281 (8.72) 0.3170 (6.89) 1154;3095 49,830.0257 (0.11) 19185 1
test_op2[truediv-keys29] 19.1990 (8.91) 70.3280 (6.83) 19.9503 (8.77) 1.1609 (5.73) 19.7319 (8.72) 0.2520 (5.48) 1155;1914 50,124.4730 (0.11) 21916 1
test_op2[truediv-keys22] 19.2000 (8.91) 70.6511 (6.86) 20.2012 (8.88) 1.3527 (6.68) 19.8231 (8.76) 0.4089 (8.89) 1689;3893 49,501.9335 (0.11) 22128 1
test_op2[truediv-keys33] 19.2000 (8.91) 77.0990 (7.49) 20.0661 (8.82) 1.3109 (6.47) 19.7260 (8.72) 0.3030 (6.59) 1291;2924 49,835.2637 (0.11) 18926 1
test_op2[truediv-keys20] 19.2419 (8.93) 97.1470 (9.44) 20.1488 (8.85) 1.3055 (6.44) 19.8500 (8.77) 0.2820 (6.13) 1257;3043 49,630.7679 (0.11) 22270 1
test_op2[truediv-keys32] 19.2550 (8.93) 51.2240 (4.98) 19.9628 (8.77) 1.0997 (5.43) 19.7400 (8.72) 0.2519 (5.48) 1285;2019 50,093.2794 (0.11) 21934 1
test_op2[truediv-keys27] 19.2741 (8.94) 48.1230 (4.67) 19.9995 (8.79) 1.0816 (5.34) 19.7940 (8.75) 0.2311 (5.03) 1439;1913 50,001.2618 (0.11) 22259 1
test_op2[truediv-keys0] 19.3249 (8.97) 61.3150 (5.96) 20.1219 (8.84) 0.8253 (4.07) 20.0020 (8.84) 0.2509 (5.46) 544;1171 49,697.1358 (0.11) 20650 1
test_op2[truediv-keys28] 19.3630 (8.98) 84.4020 (8.20) 20.3404 (8.94) 1.3361 (6.60) 20.0150 (8.84) 0.3370 (7.33) 1768;3126 49,163.2815 (0.11) 22530 1
test_op2[truediv-keys34] 19.3710 (8.99) 64.8600 (6.30) 20.0975 (8.83) 1.1290 (5.57) 19.8820 (8.79) 0.2701 (5.87) 1342;1869 49,757.3099 (0.11) 21670 1
test_op2[truediv-keys17] 19.5029 (9.05) 61.7449 (6.00) 20.1867 (8.87) 1.1366 (5.61) 19.9659 (8.82) 0.2150 (4.68) 1367;2077 49,537.5022 (0.11) 21727 1
test_op2[truediv-keys16] 19.5050 (9.05) 65.9301 (6.40) 20.3284 (8.93) 1.2553 (6.20) 20.0580 (8.86) 0.2773 (6.03) 1046;2448 49,192.2826 (0.11) 21021 1
test_op2[truediv-keys7] 19.5050 (9.05) 72.4420 (7.04) 20.2909 (8.91) 0.9653 (4.77) 20.0900 (8.88) 0.2461 (5.35) 1824;1974 49,283.2432 (0.11) 21162 1
test_op2[truediv-keys2] 19.5340 (9.06) 48.3941 (4.70) 20.2292 (8.89) 0.8330 (4.11) 20.1201 (8.89) 0.2211 (4.81) 520;742 49,433.4838 (0.11) 19962 1
test_op2[truediv-keys9] 19.5630 (9.08) 62.5000 (6.07) 20.4189 (8.97) 1.1001 (5.43) 20.1691 (8.91) 0.2470 (5.37) 1806;2075 48,974.3369 (0.11) 21330 1
test_op2[mul-keys0] 19.5700 (9.08) 63.6880 (6.19) 20.3292 (8.93) 1.0504 (5.19) 20.0870 (8.88) 0.2689 (5.85) 1408;2024 49,190.4409 (0.11) 17169 1
test_op2[truediv-keys11] 19.5740 (9.08) 49.7440 (4.83) 20.3140 (8.93) 1.0104 (4.99) 20.1371 (8.90) 0.2640 (5.74) 1146;1345 49,227.0968 (0.11) 21020 1
test_op2[truediv-keys8] 19.6421 (9.11) 49.7809 (4.84) 20.2397 (8.89) 0.7867 (3.88) 20.1300 (8.90) 0.2091 (4.55) 467;783 49,407.8164 (0.11) 21415 1
test_op2[truediv-keys6] 19.7020 (9.14) 55.1780 (5.36) 20.4055 (8.97) 0.8400 (4.15) 20.2870 (8.96) 0.2671 (5.81) 469;783 49,006.4348 (0.11) 20965 1
test_op2[mul-keys3] 19.7230 (9.15) 50.6350 (4.92) 20.5215 (9.02) 0.9269 (4.58) 20.3000 (8.97) 0.2560 (5.57) 1968;2133 48,729.3413 (0.11) 18549 1
test_op2[truediv-keys10] 19.7890 (9.18) 50.6579 (4.92) 20.5607 (9.03) 0.8098 (4.00) 20.4550 (9.04) 0.2960 (6.44) 512;574 48,636.5460 (0.11) 21149 1
test_op2[truediv-keys31] 19.8049 (9.19) 52.0770 (5.06) 20.5906 (9.05) 1.0861 (5.36) 20.3600 (9.00) 0.3049 (6.63) 1214;1761 48,565.7706 (0.11) 19828 1
test_op2[truediv-keys5] 19.8090 (9.19) 74.3640 (7.22) 20.6357 (9.07) 1.1493 (5.67) 20.3720 (9.00) 0.2679 (5.83) 1736;2151 48,459.6428 (0.11) 20483 1
test_op2[truediv-keys1] 19.8369 (9.20) 76.4710 (7.43) 20.6465 (9.07) 1.0992 (5.43) 20.4029 (9.02) 0.2449 (5.33) 1695;2057 48,434.3900 (0.11) 20909 1
test_op2[truediv-keys24] 19.8840 (9.23) 71.6711 (6.96) 20.8059 (9.14) 1.2638 (6.24) 20.4931 (9.06) 0.3020 (6.57) 1526;3041 48,063.3992 (0.11) 21029 1
test_op2[truediv-keys19] 19.8920 (9.23) 49.5260 (4.81) 20.7930 (9.14) 1.0974 (5.42) 20.5741 (9.09) 0.2859 (6.22) 1407;1850 48,093.1053 (0.11) 21476 1
test_op2[truediv-keys4] 19.8981 (9.23) 50.5721 (4.91) 20.6096 (9.05) 0.8366 (4.13) 20.4880 (9.05) 0.2430 (5.28) 579;782 48,521.1728 (0.11) 20198 1
test_op2[mul-keys2] 19.9120 (9.24) 59.6780 (5.80) 20.4791 (9.00) 0.9765 (4.82) 20.3310 (8.98) 0.1859 (4.04) 634;1112 48,830.2025 (0.11) 17843 1
test_op2[truediv-keys3] 19.9460 (9.26) 73.8370 (7.17) 20.8013 (9.14) 1.0292 (5.08) 20.6210 (9.11) 0.3261 (7.09) 1335;1446 48,074.0259 (0.11) 20534 1
test_op2[mul-keys1] 19.9650 (9.26) 62.1909 (6.04) 20.7162 (9.10) 0.9024 (4.45) 20.6060 (9.11) 0.2091 (4.55) 443;822 48,271.3825 (0.11) 18361 1
test_op2[truediv-keys25] 20.0371 (9.30) 52.1390 (5.06) 20.9364 (9.20) 1.1386 (5.62) 20.7330 (9.16) 0.3130 (6.81) 1223;1709 47,763.8108 (0.11) 20165 1
test_op2[truediv-keys30] 20.0950 (9.32) 68.4690 (6.65) 21.0539 (9.25) 1.4497 (7.16) 20.6571 (9.13) 0.2949 (6.41) 1716;3310 47,497.1543 (0.11) 20873 1
test_op2[truediv-keys18] 20.1170 (9.33) 96.8170 (9.40) 21.1331 (9.28) 1.3182 (6.51) 20.8269 (9.20) 0.2870 (6.24) 1091;2896 47,319.2300 (0.11) 20716 1
test_op2[truediv-keys13] 20.2310 (9.39) 61.1870 (5.94) 21.1088 (9.27) 1.3163 (6.50) 20.8350 (9.21) 0.2870 (6.24) 1043;2428 47,373.7031 (0.11) 20493 1
test_op2[truediv-keys12] 20.4990 (9.51) 55.1181 (5.35) 21.4815 (9.44) 1.3298 (6.56) 21.1509 (9.35) 0.3210 (6.98) 1186;2960 46,551.6005 (0.11) 20289 1
test_op2[truediv-keys0] 20.5740 (9.55) 53.8910 (5.23) 21.3745 (9.39) 0.9923 (4.90) 21.1600 (9.35) 0.2560 (5.57) 1302;1513 46,784.7846 (0.11) 15817 1
test_op2[truediv-keys1] 20.6650 (9.59) 53.3180 (5.18) 21.4130 (9.41) 0.8165 (4.03) 21.3019 (9.41) 0.2420 (5.26) 346;571 46,700.7052 (0.11) 15067 1
test_op2[truediv-keys3] 20.6830 (9.60) 51.1181 (4.97) 21.3811 (9.39) 0.8525 (4.21) 21.2491 (9.39) 0.2470 (5.37) 515;740 46,770.2656 (0.11) 17752 1
test_op2[truediv-keys2] 20.7849 (9.64) 61.3581 (5.96) 21.5155 (9.45) 1.0910 (5.39) 21.2799 (9.40) 0.2431 (5.29) 1376;1917 46,478.0988 (0.11) 17557 1
test_wrapper_ret[float_meter] 20.8140 (9.66) 53.1640 (5.16) 21.8839 (9.61) 1.1542 (5.70) 21.5841 (9.54) 0.3634 (7.90) 944;1625 45,695.6693 (0.10) 10904 1
test_wrapper_ret[int_meter] 20.9310 (9.71) 52.7741 (5.13) 21.9675 (9.65) 0.9459 (4.67) 21.7840 (9.63) 0.3271 (7.11) 537;765 45,521.8532 (0.10) 9325 1
test_wrapper_ret[int_kilometer] 20.9340 (9.71) 80.0010 (7.77) 21.8053 (9.58) 1.1299 (5.58) 21.6800 (9.58) 0.2713 (5.90) 204;350 45,860.3304 (0.10) 8925 1
test_wrapper_ret[float_kilometer] 20.9360 (9.71) 52.5010 (5.10) 21.6924 (9.53) 0.8740 (4.31) 21.5620 (9.53) 0.2471 (5.37) 223;451 46,099.0122 (0.10) 9581 1
test_wrapper_ret[complex_kilometer] 21.0070 (9.75) 54.3799 (5.28) 21.7175 (9.54) 0.8541 (4.22) 21.5895 (9.54) 0.2801 (6.09) 224;349 46,045.9166 (0.10) 9576 1
test_wrapper_ret[complex_meter] 21.0670 (9.78) 54.1339 (5.26) 21.8214 (9.59) 0.8552 (4.22) 21.7030 (9.59) 0.2750 (5.98) 242;399 45,826.5664 (0.10) 10102 1
test_op2[mul-keys6] 21.1579 (9.82) 55.1749 (5.36) 22.0224 (9.68) 0.8288 (4.09) 21.9070 (9.68) 0.3021 (6.57) 421;537 45,408.2353 (0.10) 17523 1
test_op2[mul-keys4] 21.2301 (9.85) 54.4881 (5.29) 21.9938 (9.66) 0.8905 (4.40) 21.8611 (9.66) 0.2639 (5.74) 456;689 45,467.4291 (0.10) 17418 1
test_op2[mul-keys7] 21.3219 (9.89) 56.5511 (5.49) 22.0969 (9.71) 0.9487 (4.68) 21.9730 (9.71) 0.2360 (5.13) 420;748 45,255.2213 (0.10) 18100 1
test_op2[mul-keys5] 21.6970 (10.07) 62.0539 (6.03) 22.5425 (9.90) 1.1698 (5.77) 22.2831 (9.85) 0.2719 (5.91) 1468;1792 44,360.6226 (0.10) 17647 1
test_op2[truediv-keys7] 21.7521 (10.09) 62.9510 (6.11) 22.6903 (9.97) 1.0885 (5.37) 22.4580 (9.92) 0.2730 (5.94) 1466;1708 44,071.6535 (0.10) 17308 1
test_op2[truediv-keys4] 21.8081 (10.12) 68.3670 (6.64) 22.5010 (9.89) 1.0202 (5.04) 22.3559 (9.88) 0.2290 (4.98) 439;823 44,442.5562 (0.10) 16318 1
test_op2[truediv-keys5] 22.1931 (10.30) 57.1491 (5.55) 22.9826 (10.10) 1.0448 (5.16) 22.7609 (10.06) 0.2488 (5.41) 1329;1588 43,511.2488 (0.10) 16679 1
test_op2[truediv-keys6] 22.6659 (10.52) 55.0090 (5.34) 23.4630 (10.31) 0.8832 (4.36) 23.3280 (10.31) 0.2711 (5.90) 447;648 42,620.3343 (0.10) 16185 1
test_op1[square-short_array_meter] 23.3001 (10.81) 410.6561 (39.89) 24.2805 (10.67) 3.1923 (15.76) 24.1020 (10.65) 0.3919 (8.52) 413;636 41,185.2945 (0.09) 16420 1
test_op1[square-short_array_kilometer] 23.5219 (10.91) 67.1000 (6.52) 24.5929 (10.80) 1.2042 (5.94) 24.3429 (10.76) 0.4150 (9.03) 1337;1508 40,662.1591 (0.09) 16649 1
test_op1[sqrt-short_array_meter] 23.6090 (10.96) 72.5610 (7.05) 24.7690 (10.88) 1.3394 (6.61) 24.4210 (10.79) 0.3660 (7.96) 1581;1858 40,373.1077 (0.09) 15669 1
test_build_by_mul[complex] 23.7799 (11.03) 62.6530 (6.09) 24.5284 (10.78) 0.9797 (4.84) 24.3810 (10.77) 0.2619 (5.70) 679;750 40,769.0100 (0.09) 19695 1
test_op1[sqrt-short_array_kilometer] 23.9540 (11.12) 62.5710 (6.08) 24.8737 (10.93) 0.9991 (4.93) 24.7280 (10.93) 0.3129 (6.81) 460;679 40,203.1501 (0.09) 16117 1
test_op1[square-mid_array_meter] 24.0341 (11.15) 67.6331 (6.57) 24.8843 (10.93) 1.0179 (5.02) 24.7270 (10.93) 0.2950 (6.42) 459;851 40,185.9864 (0.09) 16217 1
test_op1[square-mid_array_kilometer] 24.4151 (11.33) 62.1860 (6.04) 25.5546 (11.23) 1.2252 (6.05) 25.2550 (11.16) 0.3818 (8.30) 1525;1641 39,131.8293 (0.09) 16147 1
test_op2[eq-keys1] 24.4610 (11.35) 57.2649 (5.56) 25.2238 (11.08) 1.0001 (4.94) 25.0610 (11.07) 0.2703 (5.88) 209;363 39,645.0346 (0.09) 7361 1
test_op2[eq-keys2] 24.8030 (11.51) 61.7401 (6.00) 25.5468 (11.22) 1.0564 (5.22) 25.3770 (11.21) 0.2559 (5.56) 217;454 39,143.7716 (0.09) 7711 1
test_op1[sqrt-mid_array_kilometer] 24.8209 (11.52) 72.3910 (7.03) 25.8703 (11.37) 1.2835 (6.34) 25.5480 (11.29) 0.3091 (6.72) 1525;1716 38,654.3900 (0.09) 15678 1
test_op1[sqrt-mid_array_meter] 24.8610 (11.54) 69.0961 (6.71) 25.7666 (11.32) 1.2200 (6.02) 25.5610 (11.30) 0.3241 (7.05) 577;767 38,809.9584 (0.09) 13734 1
test_op2[eq-keys5] 25.9710 (12.05) 66.1899 (6.43) 26.8441 (11.79) 1.1081 (5.47) 26.6359 (11.77) 0.3870 (8.42) 238;355 37,252.1834 (0.08) 7502 1
test_op2[eq-keys6] 26.3730 (12.24) 71.1150 (6.91) 27.0924 (11.90) 1.0722 (5.29) 26.9170 (11.89) 0.2390 (5.20) 247;440 36,910.7008 (0.08) 7531 1
test_op2[less-keys3] 32.1580 (14.92) 80.0249 (7.77) 33.6097 (14.77) 1.6423 (8.11) 33.1270 (14.64) 0.4240 (9.22) 1536;1809 29,753.3408 (0.07) 13035 1
test_op2[equal-keys0] 32.3111 (14.99) 79.2269 (7.70) 33.2510 (14.61) 1.3405 (6.62) 33.0211 (14.59) 0.3207 (6.97) 579;756 30,074.2933 (0.07) 12595 1
test_op2[less-keys0] 32.3569 (15.01) 81.9680 (7.96) 33.5606 (14.74) 1.5263 (7.53) 33.1620 (14.65) 0.4170 (9.07) 1276;1377 29,796.8514 (0.07) 12833 1
test_op2[equal-keys3] 32.3690 (15.02) 83.7491 (8.13) 33.4337 (14.69) 1.2865 (6.35) 33.2199 (14.68) 0.3630 (7.89) 551;703 29,909.9199 (0.07) 13160 1
test_op2[less-keys4] 33.8070 (15.69) 85.0360 (8.26) 34.8838 (15.33) 1.3676 (6.75) 34.6180 (15.30) 0.3270 (7.11) 840;994 28,666.5897 (0.07) 12890 1
test_op2[less-keys7] 33.9750 (15.77) 85.0430 (8.26) 34.9935 (15.37) 1.1501 (5.68) 34.8079 (15.38) 0.3340 (7.26) 526;725 28,576.6979 (0.07) 12827 1
test_op2[equal-keys7] 34.0170 (15.78) 351.0800 (34.10) 35.1713 (15.45) 3.1621 (15.61) 34.8720 (15.41) 0.3581 (7.79) 532;811 28,432.2768 (0.06) 12960 1
test_op2[equal-keys4] 34.0660 (15.81) 83.3210 (8.09) 35.3781 (15.54) 1.9810 (9.78) 34.8410 (15.40) 0.3887 (8.45) 1183;1364 28,266.0571 (0.06) 12819 1
test_op2[sub-keys30] 36.7331 (17.04) 85.1310 (8.27) 38.1796 (16.77) 1.7745 (8.76) 37.7849 (16.70) 0.4230 (9.20) 664;707 26,192.0117 (0.06) 7328 1
test_op2[sub-keys13] 36.7570 (17.06) 90.6930 (8.81) 38.1794 (16.77) 1.8162 (8.97) 37.7260 (16.67) 0.3899 (8.48) 720;789 26,192.1553 (0.06) 6708 1
test_op2[sub-keys15] 36.8720 (17.11) 83.0559 (8.07) 38.0902 (16.74) 1.6423 (8.11) 37.7040 (16.66) 0.3821 (8.31) 665;698 26,253.4493 (0.06) 6953 1
test_op2[sub-keys1] 36.8910 (17.12) 80.6220 (7.83) 38.2279 (16.80) 1.5661 (7.73) 37.8600 (16.73) 0.4400 (9.57) 605;635 26,158.9047 (0.06) 6652 1
test_op2[sub-keys34] 36.9140 (17.13) 89.9520 (8.74) 38.2982 (16.83) 1.7664 (8.72) 37.8980 (16.75) 0.4070 (8.85) 697;726 26,110.9086 (0.06) 7202 1
test_op2[sub-keys18] 36.9221 (17.13) 78.0880 (7.58) 38.3018 (16.83) 1.6089 (7.94) 37.9070 (16.75) 0.4280 (9.31) 699;730 26,108.4481 (0.06) 7239 1
test_op2[sub-keys20] 36.9590 (17.15) 82.2340 (7.99) 38.1836 (16.78) 1.7213 (8.50) 37.7869 (16.70) 0.3850 (8.37) 702;745 26,189.2832 (0.06) 7272 1
test_op2[sub-keys5] 36.9820 (17.16) 90.2649 (8.77) 38.3688 (16.86) 1.7125 (8.45) 37.9441 (16.77) 0.4030 (8.76) 730;788 26,062.8211 (0.06) 6874 1
test_op2[sub-keys10] 36.9940 (17.17) 90.2259 (8.76) 38.2945 (16.82) 1.7677 (8.73) 37.8840 (16.74) 0.4130 (8.98) 730;772 26,113.3846 (0.06) 7195 1
test_op2[sub-keys29] 37.0030 (17.17) 86.3050 (8.38) 38.4152 (16.88) 1.6551 (8.17) 38.0280 (16.80) 0.4120 (8.96) 661;692 26,031.3353 (0.06) 6660 1
test_op2[add-keys6] 37.0380 (17.19) 97.0130 (9.42) 38.1623 (16.77) 1.3650 (6.74) 37.9559 (16.77) 0.3680 (8.00) 288;353 26,203.8437 (0.06) 7092 1
test_op2[add-keys15] 37.0550 (17.19) 93.4800 (9.08) 38.0660 (16.72) 1.1914 (5.88) 37.8690 (16.73) 0.3560 (7.74) 283;342 26,270.1377 (0.06) 7180 1
test_op2[add-keys29] 37.0691 (17.20) 85.3990 (8.30) 39.1395 (17.20) 2.5035 (12.36) 38.0700 (16.82) 2.7253 (59.27) 904;153 25,549.6294 (0.06) 6685 1
test_op2[sub-keys8] 37.1020 (17.22) 98.1560 (9.53) 39.0337 (17.15) 2.3364 (11.53) 38.1371 (16.85) 2.5762 (56.02) 552;122 25,618.8734 (0.06) 7015 1
test_op2[add-keys25] 37.1099 (17.22) 91.8231 (8.92) 38.2378 (16.80) 1.2242 (6.04) 38.0340 (16.81) 0.3570 (7.76) 290;354 26,152.1361 (0.06) 7118 1
test_op2[sub-keys27] 37.1110 (17.22) 107.2650 (10.42) 38.3177 (16.83) 1.7768 (8.77) 37.9219 (16.76) 0.3910 (8.50) 610;656 26,097.6319 (0.06) 6400 1
test_op2[sub-keys22] 37.1210 (17.22) 84.8060 (8.24) 38.6203 (16.97) 1.9166 (9.46) 38.1080 (16.84) 0.4488 (9.76) 720;778 25,893.0849 (0.06) 6247 1
test_op2[add-keys13] 37.1350 (17.23) 92.4070 (8.98) 38.1891 (16.78) 1.3708 (6.77) 37.9790 (16.78) 0.3470 (7.55) 287;384 26,185.5070 (0.06) 7055 1
test_op2[sub-keys25] 37.1550 (17.24) 90.4901 (8.79) 38.4708 (16.90) 1.7761 (8.77) 38.0180 (16.80) 0.4473 (9.73) 802;856 25,993.7180 (0.06) 7085 1
test_op2[sub-keys17] 37.1780 (17.25) 87.0300 (8.45) 38.7548 (17.03) 1.9793 (9.77) 38.0699 (16.82) 0.5199 (11.31) 873;1427 25,803.2661 (0.06) 7186 1
test_op2[add-keys8] 37.1869 (17.26) 89.5670 (8.70) 38.3613 (16.85) 1.3522 (6.68) 38.0900 (16.83) 0.3960 (8.61) 462;507 26,067.9713 (0.06) 7067 1
test_op2[add-keys20] 37.2060 (17.26) 92.3830 (8.97) 38.1900 (16.78) 1.1890 (5.87) 37.9960 (16.79) 0.3601 (7.83) 264;314 26,184.8945 (0.06) 6650 1
test_op2[add-keys18] 37.2160 (17.27) 91.4040 (8.88) 38.2043 (16.79) 1.1085 (5.47) 38.0339 (16.81) 0.3965 (8.62) 293;338 26,175.0917 (0.06) 7152 1
test_op2[add-keys27] 37.2741 (17.30) 87.0411 (8.45) 38.3256 (16.84) 1.1761 (5.81) 38.1300 (16.85) 0.3701 (8.05) 290;338 26,092.2225 (0.06) 7241 1
test_op2[add-keys3] 37.3730 (17.34) 403.3700 (39.18) 38.4734 (16.90) 4.6077 (22.75) 38.2240 (16.89) 0.3539 (7.70) 77;323 25,991.9939 (0.06) 6761 1
test_op2[add-keys5] 37.3940 (17.35) 85.8360 (8.34) 39.0489 (17.16) 1.7649 (8.71) 38.4881 (17.01) 0.5190 (11.29) 1078;1167 25,608.9385 (0.06) 6859 1
test_op2[add-keys10] 37.4020 (17.36) 247.8521 (24.07) 38.5482 (16.94) 2.7673 (13.66) 38.2951 (16.92) 0.3701 (8.05) 323;380 25,941.5622 (0.06) 7086 1
test_op2[add-keys34] 37.5250 (17.41) 86.2021 (8.37) 38.8555 (17.07) 1.6888 (8.34) 38.4391 (16.99) 0.4047 (8.80) 683;714 25,736.3498 (0.06) 6619 1
test_op2[add-keys32] 37.5640 (17.43) 80.6069 (7.83) 39.4528 (17.33) 2.1388 (10.56) 38.5890 (17.05) 1.0210 (22.20) 929;1628 25,346.7136 (0.06) 7185 1
test_op2[sub-keys3] 37.5930 (17.44) 89.4160 (8.69) 38.9349 (17.11) 1.6817 (8.30) 38.5490 (17.03) 0.3820 (8.31) 595;629 25,683.8745 (0.06) 6213 1
test_op2[add-keys17] 37.6201 (17.46) 88.5950 (8.61) 38.8140 (17.05) 1.6356 (8.07) 38.4980 (17.01) 0.3810 (8.29) 474;536 25,763.8825 (0.06) 7202 1
test_op2[sub-keys32] 37.7090 (17.50) 82.8120 (8.04) 39.4957 (17.35) 1.6392 (8.09) 39.1090 (17.28) 0.4070 (8.85) 660;704 25,319.2420 (0.06) 7171 1
test_op2[sub-keys6] 37.7491 (17.52) 75.9229 (7.37) 39.0291 (17.15) 1.5937 (7.87) 38.6540 (17.08) 0.4050 (8.81) 639;669 25,621.9072 (0.06) 6659 1
test_op2[add-keys22] 37.7550 (17.52) 89.0100 (8.65) 38.9091 (17.09) 1.3157 (6.50) 38.6679 (17.09) 0.3820 (8.31) 385;414 25,700.9340 (0.06) 7182 1
test_op2[add-keys30] 37.7670 (17.52) 92.5430 (8.99) 39.2311 (17.24) 1.7546 (8.66) 38.8270 (17.16) 0.4810 (10.46) 684;720 25,489.9753 (0.06) 6973 1
test_op2[add-keys1] 38.2250 (17.74) 93.4501 (9.08) 39.5486 (17.38) 1.3328 (6.58) 39.3160 (17.37) 0.4261 (9.27) 295;317 25,285.3385 (0.06) 5846 1
test_op2[divide-keys1] 38.8480 (18.03) 89.8751 (8.73) 40.2853 (17.70) 1.4341 (7.08) 39.9580 (17.66) 0.3850 (8.37) 978;1078 24,822.9571 (0.06) 12345 1
test_op2[divide-keys0] 39.2359 (18.21) 91.5080 (8.89) 40.3496 (17.73) 1.4201 (7.01) 40.0970 (17.72) 0.3610 (7.85) 582;724 24,783.3704 (0.06) 11768 1
test_op2[divide-keys3] 39.5870 (18.37) 92.9590 (9.03) 40.7795 (17.92) 1.3703 (6.76) 40.4830 (17.89) 0.4061 (8.83) 888;948 24,522.0962 (0.06) 11417 1
test_op2[divide-keys2] 39.7200 (18.43) 92.7040 (9.00) 40.8419 (17.94) 1.2995 (6.42) 40.6110 (17.95) 0.3701 (8.05) 510;626 24,484.6430 (0.06) 11910 1
test_op2[divide-keys6] 40.4910 (18.79) 82.1820 (7.98) 41.7294 (18.33) 1.3026 (6.43) 41.5000 (18.34) 0.3750 (8.15) 473;586 23,963.9060 (0.05) 10829 1
test_op2[divide-keys7] 40.5080 (18.80) 91.9830 (8.93) 41.9200 (18.42) 1.5640 (7.72) 41.5210 (18.35) 0.4510 (9.81) 1139;1198 23,854.9363 (0.05) 11751 1
test_op2[divide-keys4] 40.6920 (18.88) 95.3049 (9.26) 42.0142 (18.46) 1.5765 (7.78) 41.6720 (18.41) 0.4091 (8.90) 915;983 23,801.4920 (0.05) 11950 1
test_op2[divide-keys5] 40.7490 (18.91) 80.0120 (7.77) 42.0717 (18.48) 1.6168 (7.98) 41.7050 (18.43) 0.4090 (8.89) 849;915 23,768.9577 (0.05) 9859 1
test_op2[sub-keys2] 41.2270 (19.13) 84.1770 (8.18) 43.0104 (18.90) 2.1926 (10.82) 42.2690 (18.68) 0.5097 (11.08) 822;985 23,250.1679 (0.05) 5927 1
test_op2[add0-keys2] 41.2479 (19.14) 99.8700 (9.70) 42.4340 (18.64) 1.6389 (8.09) 42.1660 (18.63) 0.4321 (9.40) 272;369 23,565.9835 (0.05) 6110 1
test_op2[subtract-keys0] 41.2640 (19.15) 102.7100 (9.98) 42.6582 (18.74) 1.6835 (8.31) 42.2529 (18.67) 0.4070 (8.85) 1057;1158 23,442.1520 (0.05) 11209 1
test_op2[add0-keys1] 41.3350 (19.18) 70.3880 (6.84) 42.6974 (18.76) 1.1946 (5.90) 42.4569 (18.76) 0.4173 (9.07) 250;300 23,420.6480 (0.05) 5117 1
test_op2[add1-keys3] 41.4100 (19.22) 96.8410 (9.41) 42.7005 (18.76) 1.4322 (7.07) 42.3940 (18.73) 0.3923 (8.53) 809;912 23,418.9328 (0.05) 11465 1
test_op2[sub-keys1] 41.4540 (19.24) 114.8480 (11.16) 42.8046 (18.81) 1.6338 (8.07) 42.5361 (18.80) 0.4482 (9.75) 290;374 23,361.9508 (0.05) 6121 1
test_op2[subtract-keys3] 41.4610 (19.24) 97.5591 (9.48) 42.9536 (18.87) 1.6380 (8.09) 42.5740 (18.81) 0.5090 (11.07) 993;1063 23,280.9144 (0.05) 11405 1
test_op2[add1-keys0] 41.7751 (19.38) 102.3661 (9.94) 43.0472 (18.91) 1.4407 (7.11) 42.8030 (18.91) 0.4099 (8.91) 498;583 23,230.3079 (0.05) 10707 1
test_op2[subtract-keys7] 43.1800 (20.04) 97.9881 (9.52) 44.8350 (19.70) 1.8507 (9.14) 44.4000 (19.62) 0.4440 (9.66) 924;1049 22,303.9998 (0.05) 11166 1
test_op2[add1-keys4] 43.3060 (20.09) 106.5871 (10.35) 44.6760 (19.63) 1.8476 (9.12) 44.2419 (19.55) 0.4800 (10.44) 944;1008 22,383.3694 (0.05) 11235 1
test_op2[add1-keys7] 43.4100 (20.14) 106.3590 (10.33) 44.5259 (19.56) 1.3875 (6.85) 44.2800 (19.57) 0.4059 (8.83) 533;657 22,458.8217 (0.05) 11170 1
test_op2[lt-keys1] 43.9540 (20.40) 96.7589 (9.40) 45.3383 (19.92) 2.0965 (10.35) 44.9095 (19.85) 0.4210 (9.15) 364;455 22,056.4130 (0.05) 5524 1
test_op2[multiply-keys1] 44.0760 (20.45) 100.3621 (9.75) 45.7460 (20.10) 1.7442 (8.61) 45.3580 (20.04) 0.4729 (10.28) 1018;1064 21,859.8341 (0.05) 11521 1
test_op2[multiply-keys0] 44.1490 (20.49) 86.2210 (8.37) 45.4711 (19.98) 1.3459 (6.64) 45.2261 (19.99) 0.4569 (9.94) 557;617 21,991.9929 (0.05) 11538 1
test_op2[multiply-keys2] 44.1930 (20.51) 87.6040 (8.51) 45.4784 (19.98) 1.3472 (6.65) 45.2350 (19.99) 0.4430 (9.63) 536;632 21,988.4792 (0.05) 11346 1
test_op2[subtract-keys4] 44.3410 (20.58) 100.6270 (9.77) 45.6387 (20.05) 1.4976 (7.39) 45.3490 (20.04) 0.4030 (8.76) 600;745 21,911.2456 (0.05) 11025 1
test_op2[multiply-keys3] 44.4370 (20.62) 105.6370 (10.26) 45.7676 (20.11) 1.6307 (8.05) 45.3680 (20.05) 0.4721 (10.27) 1054;1110 21,849.5203 (0.05) 11520 1
test_op2[lt-keys2] 44.4870 (20.64) 97.0151 (9.42) 45.7350 (20.09) 1.5411 (7.61) 45.4575 (20.09) 0.4409 (9.59) 264;340 21,865.0749 (0.05) 5656 1
test_op2[sub-keys6] 44.5030 (20.65) 100.0511 (9.72) 45.7772 (20.11) 1.5699 (7.75) 45.4970 (20.10) 0.4940 (10.74) 298;372 21,844.9422 (0.05) 6241 1
test_op2[sub-keys5] 44.5520 (20.67) 108.9619 (10.58) 46.2407 (20.32) 2.0779 (10.26) 45.6010 (20.15) 0.6019 (13.09) 859;916 21,625.9760 (0.05) 5821 1
test_op2[add0-keys5] 44.6730 (20.73) 107.7050 (10.46) 46.1636 (20.28) 2.0855 (10.30) 45.7225 (20.20) 0.4589 (9.98) 411;460 21,662.0747 (0.05) 5922 1
test_op2[add0-keys6] 44.6960 (20.74) 105.8140 (10.28) 46.3864 (20.38) 2.1404 (10.57) 45.7451 (20.21) 0.5652 (12.29) 804;860 21,558.0382 (0.05) 6045 1
test_op2[lt-keys5] 45.0519 (20.90) 114.3019 (11.10) 46.4302 (20.40) 2.0081 (9.91) 46.1091 (20.38) 0.4490 (9.76) 288;380 21,537.7160 (0.05) 5512 1
test_op2[lt-keys6] 45.1710 (20.96) 92.6340 (9.00) 47.2325 (20.75) 3.0940 (15.27) 46.2061 (20.42) 0.5220 (11.35) 591;903 21,171.8727 (0.05) 5669 1
test_op2[multiply-keys5] 45.2850 (21.01) 111.1930 (10.80) 48.3204 (21.23) 2.2113 (10.92) 47.7870 (21.12) 0.5190 (11.29) 1167;1286 20,695.1774 (0.05) 11182 1
test_op2[multiply-keys4] 46.0480 (21.37) 109.4900 (10.64) 47.8024 (21.00) 1.4877 (7.34) 47.5460 (21.01) 0.4760 (10.35) 566;671 20,919.4475 (0.05) 11314 1
test_op2[multiply-keys7] 46.1041 (21.39) 104.1390 (10.12) 48.6858 (21.39) 2.3197 (11.45) 48.1210 (21.26) 0.5219 (11.35) 794;878 20,539.8766 (0.05) 9218 1
test_op2[multiply-keys6] 46.8690 (21.75) 108.0070 (10.49) 48.2329 (21.19) 1.4910 (7.36) 47.9670 (21.20) 0.4760 (10.35) 558;642 20,732.7344 (0.05) 11218 1
test_op2[equal-keys1] 49.4880 (22.96) 112.4840 (10.93) 51.1015 (22.45) 1.9262 (9.51) 50.5624 (22.34) 0.5231 (11.37) 685;721 19,568.8923 (0.04) 5858 1
test_op2[less-keys1] 49.5489 (22.99) 105.9440 (10.29) 50.9252 (22.37) 1.4801 (7.31) 50.6450 (22.38) 0.5249 (11.42) 320;371 19,636.6456 (0.04) 5959 1
test_op2[equal-keys2] 49.5790 (23.01) 107.3770 (10.43) 51.0096 (22.41) 1.5958 (7.88) 50.7119 (22.41) 0.4619 (10.05) 302;375 19,604.1483 (0.04) 5634 1
test_op2[less-keys2] 50.9780 (23.65) 120.5290 (11.71) 52.7387 (23.17) 1.7418 (8.60) 52.3970 (23.15) 0.5510 (11.98) 393;454 18,961.3900 (0.04) 6103 1
test_op2[less-keys5] 52.4949 (24.36) 99.2040 (9.64) 54.1102 (23.77) 1.5517 (7.66) 53.7881 (23.77) 0.5643 (12.27) 355;415 18,480.7939 (0.04) 5913 1
test_op2[equal-keys6] 52.6140 (24.41) 111.4140 (10.82) 55.5711 (24.42) 3.7380 (18.45) 54.0165 (23.87) 3.4831 (75.75) 544;434 17,994.9631 (0.04) 5966 1
test_op2[equal-keys5] 52.6600 (24.44) 97.1670 (9.44) 54.2227 (23.82) 1.7596 (8.69) 53.8430 (23.79) 0.5250 (11.42) 395;471 18,442.4773 (0.04) 5807 1
test_op2[less-keys6] 52.6950 (24.45) 121.2930 (11.78) 55.0852 (24.20) 3.4287 (16.93) 53.9820 (23.85) 0.6457 (14.04) 487;687 18,153.6816 (0.04) 4627 1
test_build_by_mul[short_array] 54.2579 (25.18) 127.5050 (12.39) 56.2527 (24.71) 1.8448 (9.11) 55.8200 (24.67) 0.6920 (15.05) 806;900 17,776.9295 (0.04) 9718 1
test_build_by_mul[mid_array] 57.3930 (26.63) 145.4700 (14.13) 59.5874 (26.18) 3.1005 (15.31) 58.7851 (25.98) 0.6440 (14.01) 1043;1119 16,782.0675 (0.04) 9867 1
test_op2[add1-keys1] 57.6620 (26.76) 134.8440 (13.10) 59.7589 (26.26) 2.2002 (10.86) 59.1570 (26.14) 0.7289 (15.85) 629;644 16,733.9045 (0.04) 5365 1
test_op2[subtract-keys1] 58.0590 (26.94) 122.6900 (11.92) 59.8928 (26.31) 2.0524 (10.13) 59.4570 (26.27) 0.6161 (13.40) 468;515 16,696.4907 (0.04) 5585 1
test_op2[subtract-keys2] 58.0640 (26.94) 130.0670 (12.63) 59.8001 (26.27) 1.7532 (8.66) 59.4630 (26.28) 0.6340 (13.79) 344;384 16,722.3665 (0.04) 5574 1
test_op2[add1-keys2] 58.7110 (27.24) 127.2600 (12.36) 60.2787 (26.48) 2.1295 (10.51) 59.8850 (26.46) 0.5717 (12.43) 133;157 16,589.6101 (0.04) 2047 1
test_op2[add1-keys6] 61.5419 (28.56) 128.6730 (12.50) 63.7308 (28.00) 2.5986 (12.83) 63.0310 (27.85) 0.6855 (14.91) 648;688 15,691.0015 (0.04) 5624 1
test_op2[add1-keys5] 61.5660 (28.57) 130.2500 (12.65) 63.6215 (27.95) 2.5018 (12.35) 63.0610 (27.87) 0.6743 (14.66) 439;475 15,717.9484 (0.04) 5281 1
test_op2[subtract-keys6] 61.7261 (28.64) 109.6260 (10.65) 63.7790 (28.02) 2.4321 (12.01) 63.2311 (27.94) 0.6987 (15.19) 436;471 15,679.1365 (0.04) 5491 1
test_op2[subtract-keys5] 61.8870 (28.72) 430.6070 (41.83) 64.7735 (28.46) 5.8005 (28.64) 63.8100 (28.20) 0.8170 (17.77) 117;832 15,438.4110 (0.04) 5233 1
test_parse_units[True-ms] 63.9760 (29.69) 153.3231 (14.89) 65.7533 (28.89) 2.1126 (10.43) 65.2231 (28.82) 0.5555 (12.08) 1274;1321 15,208.3543 (0.03) 12365 1
test_parse_units[False-ms] 64.1741 (29.78) 148.4660 (14.42) 65.9488 (28.97) 2.2669 (11.19) 65.3560 (28.88) 0.5673 (12.34) 1113;1139 15,163.2736 (0.03) 9605 1
test_getattr[False-ms] 68.8930 (31.97) 144.7940 (14.06) 70.7147 (31.07) 2.3198 (11.45) 70.1119 (30.98) 0.5760 (12.53) 926;964 14,141.3336 (0.03) 8313 1
test_getattr[True-ms] 69.3490 (32.18) 1,430.6530 (138.96) 71.3972 (31.37) 12.8391 (63.38) 70.9190 (31.34) 0.5520 (12.01) 13;918 14,006.1452 (0.03) 11440 1
test_getitem[True-minute] 102.5089 (47.57) 372.7220 (36.20) 106.0828 (46.61) 5.4398 (26.85) 104.9050 (46.36) 1.4348 (31.20) 561;1118 9,426.6032 (0.02) 7427 1
test_getitem[False-second] 102.5670 (47.59) 699.7950 (67.97) 106.2759 (46.69) 9.0059 (44.46) 104.9010 (46.35) 1.5952 (34.69) 113;921 9,409.4703 (0.02) 5453 1
test_finding_meter_getitem 102.6170 (47.62) 134,394.4800 (>1000.0) 145.2144 (63.80) 2,195.9030 (>1000.0) 105.0025 (46.40) 2.6891 (58.48) 2;425 6,886.3704 (0.02) 3762 1
test_getitem[False-minute] 102.9191 (47.76) 497.2500 (48.30) 106.6458 (46.86) 7.1798 (35.44) 104.8855 (46.35) 1.7170 (37.34) 299;1028 9,376.8362 (0.02) 5394 1
test_getitem[False-meter] 102.9570 (47.77) 748.9909 (72.75) 106.2324 (46.67) 10.1685 (50.20) 105.1730 (46.48) 1.3465 (29.28) 34;565 9,413.3281 (0.02) 4583 1
test_getitem[True-second] 103.4969 (48.02) 376.1470 (36.54) 107.0847 (47.05) 5.1426 (25.39) 105.7170 (46.72) 1.4284 (31.06) 672;1220 9,338.3995 (0.02) 7301 1
test_getitem[True-meter] 104.4450 (48.46) 5,300.4089 (514.85) 110.0124 (48.33) 64.4890 (318.36) 107.4020 (47.46) 4.8230 (104.88) 8;202 9,089.8858 (0.02) 6572 1
test_getitem[False-angstrom] 105.0530 (48.75) 315.6110 (30.66) 108.1550 (47.52) 4.5840 (22.63) 107.2190 (47.38) 1.3652 (29.69) 472;672 9,245.9891 (0.02) 5281 1
test_getitem[True-angstrom] 105.8261 (49.11) 414.7521 (40.29) 109.5801 (48.14) 6.5432 (32.30) 108.1571 (47.79) 1.6290 (35.43) 375;1152 9,125.7439 (0.02) 7234 1
test_parse_expression[False-meter] 106.9979 (49.65) 173.1470 (16.82) 110.5378 (48.57) 3.9963 (19.73) 109.0000 (48.17) 1.2282 (26.71) 887;1025 9,046.6752 (0.02) 5286 1
test_getitem[False-kilometer] 107.1499 (49.72) 629.4680 (61.14) 110.4297 (48.52) 9.2997 (45.91) 109.3240 (48.31) 1.4305 (31.11) 33;464 9,055.5379 (0.02) 3673 1
test_getitem[True-kilometer] 107.5690 (49.91) 566.2030 (55.00) 111.1047 (48.81) 6.5399 (32.29) 110.0145 (48.61) 1.5175 (33.00) 224;992 9,000.5227 (0.02) 6988 1
test_parse_expression[True-meter] 107.6299 (49.94) 179.3321 (17.42) 110.7031 (48.64) 3.2622 (16.10) 109.5640 (48.42) 1.1450 (24.90) 1139;1168 9,033.1727 (0.02) 7177 1
test_parse_expression[False-minute] 107.7971 (50.02) 215.8920 (20.97) 111.9957 (49.21) 4.6137 (22.78) 110.0340 (48.62) 2.0635 (44.87) 892;1315 8,928.9124 (0.02) 5575 1
test_parse_expression[True-minute] 107.8401 (50.04) 193.8270 (18.83) 111.1068 (48.81) 3.5738 (17.64) 109.8800 (48.56) 1.1052 (24.04) 1196;1260 9,000.3530 (0.02) 7225 1
test_parse_expression[False-second] 107.8889 (50.06) 173.9911 (16.90) 111.6183 (49.04) 4.0613 (20.05) 110.1630 (48.68) 1.1581 (25.18) 814;943 8,959.1047 (0.02) 5110 1
test_parse_expression[True-second] 107.9330 (50.08) 180.4220 (17.53) 110.6381 (48.61) 2.7897 (13.77) 109.8129 (48.53) 0.9635 (20.95) 928;972 9,038.4800 (0.02) 7276 1
test_getitem[False-millisecond] 108.4030 (50.30) 214.5340 (20.84) 112.2997 (49.34) 4.2000 (20.73) 110.8195 (48.97) 1.7410 (37.86) 612;696 8,904.7429 (0.02) 3634 1
test_getitem[True-millisecond] 108.4260 (50.31) 574.5860 (55.81) 112.1055 (49.25) 6.9432 (34.28) 110.6469 (48.89) 1.6350 (35.56) 232;1216 8,920.1727 (0.02) 6851 1
test_parse_expression[False-angstrom] 108.7111 (50.44) 174.9520 (16.99) 113.1032 (49.69) 4.7933 (23.66) 111.1290 (49.11) 1.6059 (34.92) 786;1237 8,841.4813 (0.02) 5494 1
test_parse_expression[True-angstrom] 109.1131 (50.63) 193.4780 (18.79) 112.1406 (49.27) 3.6941 (18.24) 110.8750 (48.99) 1.0920 (23.75) 1134;1215 8,917.3752 (0.02) 7324 1
test_parse_expression[True-kilometer] 109.6789 (50.89) 201.4560 (19.57) 113.3172 (49.79) 4.3716 (21.58) 111.6550 (49.34) 1.2472 (27.12) 995;1308 8,824.7843 (0.02) 6509 1
test_parse_expression[False-kilometer] 109.7190 (50.91) 187.7220 (18.23) 113.8991 (50.04) 5.0281 (24.82) 111.7280 (49.37) 2.2380 (48.67) 539;899 8,779.7017 (0.02) 3924 1
test_parse_expression[True-millisecond] 111.7520 (51.86) 192.2260 (18.67) 115.3365 (50.67) 4.3844 (21.64) 113.5829 (50.19) 1.3805 (30.02) 1101;1492 8,670.2800 (0.02) 6983 1
test_parse_expression[False-millisecond] 112.1069 (52.02) 1,075.8520 (104.50) 115.7078 (50.84) 16.0138 (79.05) 114.0835 (50.41) 1.1519 (25.05) 29;695 8,642.4615 (0.02) 3822 1
test_load_definitions_stage_1[None] 136.3290 (63.26) 12,771.8610 (>1000.0) 162.1410 (71.24) 199.2816 (983.78) 142.6149 (63.02) 7.9143 (172.11) 39;542 6,167.4734 (0.01) 4229 1
test_create_empty_registry 139.4120 (64.69) 83,130.0589 (>1000.0) 359.2595 (157.84) 1,558.3861 (>1000.0) 322.9550 (142.71) 39.5848 (860.84) 2;643 2,783.5031 (0.01) 2841 1
test_parse_math_expression 158.8810 (73.72) 237.5160 (23.07) 164.6879 (72.36) 6.1206 (30.22) 162.1069 (71.63) 5.7243 (124.49) 482;197 6,072.0909 (0.01) 3407 1
test_getitem[True-ms] 169.6660 (78.73) 58,607.1300 (>1000.0) 187.2786 (82.28) 846.4241 (>1000.0) 173.4064 (76.63) 3.2950 (71.66) 1;437 5,339.6389 (0.01) 4766 1
test_getitem[False-ms] 170.0600 (78.91) 316.1590 (30.71) 175.0502 (76.91) 5.2506 (25.92) 173.6030 (76.71) 3.1060 (67.55) 412;410 5,712.6457 (0.01) 3772 1
test_load_definitions_stage_1[True] 173.1550 (80.35) 561.1479 (54.51) 200.1729 (87.95) 55.8796 (275.86) 179.5409 (79.34) 10.2856 (223.68) 407;472 4,995.6820 (0.01) 3663 1
test_parse_expression[True-ms] 173.2640 (80.40) 245.6181 (23.86) 179.4086 (78.82) 6.6548 (32.85) 176.4949 (77.99) 6.4525 (140.32) 621;291 5,573.8677 (0.01) 4883 1
test_parse_expression[False-ms] 174.2990 (80.88) 252.7121 (24.55) 180.4899 (79.30) 6.7856 (33.50) 177.4610 (78.42) 6.5293 (141.99) 516;236 5,540.4750 (0.01) 3825 1
test_build_cache 504.0010 (233.87) 616.9711 (59.93) 511.7854 (224.85) 5.6836 (28.06) 511.4330 (226.00) 4.8925 (106.39) 82;21 1,953.9439 (0.00) 1783 1
test_load_definitions_stage_3[True] 2,706.0070 (>1000.0) 3,505.8440 (340.54) 2,818.6196 (>1000.0) 209.4796 (>1000.0) 2,726.6760 (>1000.0) 151.0710 (>1000.0) 1;1 354.7836 (0.00) 14 1
test_create_tiny_registry 9,054.9850 (>1000.0) 11,111.0581 (>1000.0) 10,200.3128 (>1000.0) 529.8235 (>1000.0) 10,130.8570 (>1000.0) 849.2809 (>1000.0) 22;0 98.0362 (0.00) 61 1
test_create_default_registry_use_cache 17,500.0530 (>1000.0) 135,083.6850 (>1000.0) 27,766.2978 (>1000.0) 26,494.7516 (>1000.0) 18,516.7639 (>1000.0) 3,062.6614 (>1000.0) 5;5 36.0149 (0.00) 47 1
test_load_definitions_stage_3[None] 70,661.0710 (>1000.0) 147,040.1910 (>1000.0) 76,673.3784 (>1000.0) 20,258.8753 (>1000.0) 71,163.9131 (>1000.0) 417.7981 (>1000.0) 1;3 13.0423 (0.00) 14 1
test_create_default_registry 311,807.1420 (>1000.0) 661,985.7471 (>1000.0) 498,759.6558 (>1000.0) 158,516.1769 (>1000.0) 582,142.5130 (>1000.0) 271,816.9744 (>1000.0) 2;0 2.0050 (0.00) 5 1
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Legend:
Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile.
OPS: Operations Per Second, computed as 1 / Mean
================================================================================== short test summary info ==================================================================================
SKIPPED [1] pint/testsuite/test_compat_downcast.py:11: sparse is not available
SKIPPED [1] pint/testsuite/test_compat_upcast.py:9: xarray is not available
SKIPPED [1] pint/testsuite/test_dask.py:12: Dask is not available
SKIPPED [2] pint/testsuite/benchmarks/test_10_registry.py:167: Test failing ValueError: Group USCSLengthInternational already present in registry
SKIPPED [6] pint/testsuite/test_application_registry.py:56: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_application_registry.py:68: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_application_registry.py:97: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_application_registry.py:143: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_application_registry.py:155: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_application_registry.py:227: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_application_registry.py:246: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_babel.py:11: Requires Babel not to be installed
SKIPPED [1] pint/testsuite/test_issues.py:178: Requires NumPy not to be installed.
SKIPPED [1] pint/testsuite/test_issues.py:254: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_issues.py:887: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_issues.py:925: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_issues.py:953: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_measurement.py:21: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_measurement.py:26: Requires Uncertainties
SKIPPED [12] pint/testsuite/test_measurement.py:44: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_measurement.py:67: Requires Uncertainties
SKIPPED [7] pint/testsuite/test_measurement.py:84: Requires Uncertainties
SKIPPED [5] pint/testsuite/test_measurement.py:105: Requires Uncertainties
SKIPPED [5] pint/testsuite/test_measurement.py:121: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_measurement.py:140: Requires Uncertainties
SKIPPED [6] pint/testsuite/test_measurement.py:158: Requires Uncertainties
SKIPPED [12] pint/testsuite/test_measurement.py:177: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_measurement.py:203: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_measurement.py:215: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_measurement.py:262: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_measurement.py:288: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_measurement.py:294: Requires Uncertainties
SKIPPED [1] pint/testsuite/test_numpy.py:449: Requires NumPy >= 2.0
SKIPPED [6] pint/testsuite/test_numpy.py: unconditional skip
SKIPPED [2] pint/testsuite/test_quantity.py:380: Requires MIP
SKIPPED [2] pint/testsuite/test_quantity.py:418: Requires MIP
SKIPPED [2] pint/testsuite/test_quantity.py:433: Requires MIP
SKIPPED [2] pint/testsuite/test_quantity.py:693: Requires NumPy not to be installed.
XFAIL pint/testsuite/test_issues.py::TestIssues::test_issue25
XFAIL pint/testsuite/test_issues.py::TestIssues::test_issue37
XFAIL pint/testsuite/test_issues.py::TestIssues::test_issue39
XFAIL pint/testsuite/test_issues.py::TestIssues::test_issue86c
XFAIL pint/testsuite/test_issues.py::test_issues_1841_xfail
XFAIL pint/testsuite/test_log_units.py::test_compound_log_unit_multiply_definition
XFAIL pint/testsuite/test_log_units.py::test_compound_log_unit_quantity_definition
XFAIL pint/testsuite/test_log_units.py::test_dbm_db_addition
XFAIL pint/testsuite/test_log_units.py::test_frequency_octave_addition[100-2.0-400]
XFAIL pint/testsuite/test_log_units.py::test_frequency_octave_addition[50-1.0-100]
XFAIL pint/testsuite/test_log_units.py::test_frequency_octave_addition[200-0.0-200]
XFAIL pint/testsuite/test_numpy.py::TestNumpyMathematicalFunctions::test_exponentiation_array_exp_2
XFAIL pint/testsuite/test_quantity.py::TestQuantityWithDefaultRegistry::test_formatting_override_default_units - Still not clear how default formatting will work.
XFAIL pint/testsuite/test_quantity.py::TestQuantityWithDefaultRegistry::test_formatting_override_default_magnitude - Still not clear how default formatting will work.
XFAIL pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_defaults_warning - Still not clear how default formatting will work.
XPASS pint/testsuite/test_quantity.py::TestQuantity::test_formatting_override_default_units - Still not clear how default formatting will work.
XPASS pint/testsuite/test_quantity.py::TestQuantity::test_formatting_override_default_magnitude - Still not clear how default formatting will work.
FAILED pint/testsuite/test_babel.py::test_format - locale.Error: unsupported locale setting
FAILED pint/testsuite/test_babel.py::test_registry_locale - locale.Error: unsupported locale setting
FAILED pint/testsuite/test_babel.py::test_str - locale.Error: unsupported locale setting
FAILED pint/testsuite/test_issues.py::TestIssues::test_issue_1400 - locale.Error: unsupported locale setting
===================================== 4 failed, 2489 passed, 134 skipped, 15 xfailed, 2 xpassed, 50 warnings, 298 subtests passed in 287.11s (0:04:47) ====================================== |
it looks like you do not have the locales installed on your machine the tests are run on |
Hmm .. which one locales? 🤔 |
["fr_FR", "ro_RO", "es_ES"] Try it again now, I've set the tests to skip if the locales can't be loaded. |
can this be closed now with 0.24.1 released? |
If you think that issue has been resolved just close it. |
I am still getting this issue on version 0.24.1, while using a system locale of en_US.UTF-8 |
The same. + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-pint-0.24.1-2.fc37.x86_64/usr/lib64/python3.10/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-pint-0.24.1-2.fc37.x86_64/usr/lib/python3.10/site-packages
+ /usr/bin/pytest -ra -m 'not network'
==================================================================================== test session starts ====================================================================================
platform linux -- Python 3.10.14, pytest-8.2.2, pluggy-1.5.0
Matplotlib: 3.9.0
Freetype: 2.13.2
benchmark: 4.0.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /home/tkloczko/rpmbuild/BUILD/pint-0.24.1
configfile: pyproject.toml
plugins: mpl-0.17.0, subtests-0.12.1, benchmark-4.0.0
collected 2641 items / 3 skipped
pint/testsuite/benchmarks/test_00_common.py . [ 0%]
pint/testsuite/benchmarks/test_01_registry_creation.py .... [ 0%]
pint/testsuite/benchmarks/test_10_registry.py ......................................................................................................ss.. [ 4%]
pint/testsuite/benchmarks/test_20_quantity.py ............................................................................................................................... [ 9%]
.............................................................................. [ 12%]
pint/testsuite/benchmarks/test_30_numpy.py .................................................................................................................... [ 16%]
pint/testsuite/test_application_registry.py ..................ssssssssssss.......ssssss..................ssssssssssss..................ssssssssssss.. [ 20%]
pint/testsuite/test_babel.py sFF..F [ 20%]
pint/testsuite/test_compat.py .......... [ 21%]
pint/testsuite/test_contexts.py ...............................,,,..,,,,........,,... [ 22%]
pint/testsuite/test_converters.py ....... [ 23%]
pint/testsuite/test_definitions.py ....... [ 23%]
pint/testsuite/test_diskcache.py ..... [ 23%]
pint/testsuite/test_errors.py .......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.. [ 23%]
pint/testsuite/test_formatter.py .... [ 24%]
pint/testsuite/test_formatting.py .................................. [ 25%]
pint/testsuite/test_infer_base_unit.py ........ [ 25%]
pint/testsuite/test_issues.py x.xx........s......s...x................................................s.Fss.......................................................................x.. [ 31%]
..... [ 31%]
pint/testsuite/test_log_units.py ..............................................................................................xx..xxxx [ 35%]
pint/testsuite/test_matplotlib.py ... [ 35%]
pint/testsuite/test_measurement.py .ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 38%]
pint/testsuite/test_non_int.py .............,,,,,,,,,,,,,,,,,,,,,,,,................................................................................................................. [ 42%]
.........................................................................................,,,,,,,,,,,,,,,,,,,,,,,,.................................................................... [ 48%]
......................................................................................................................................,,,,,,,,,,,,,,,,,,,,,,,,....................... [ 54%]
...................................................................................................................................................................... [ 61%]
pint/testsuite/test_numpy.py .....................,,,,,.,,......................s.........x....................................................................,,,,,,................ [ 66%]
....................ssssss [ 67%]
pint/testsuite/test_numpy_func.py .......................... [ 68%]
pint/testsuite/test_pint_eval.py ................................................................ [ 70%]
pint/testsuite/test_pitheorem.py .. [ 70%]
pint/testsuite/test_quantity.py .......,,,,,,,,,,,,,,,,,,,,.,,,,,,,,.,,..,,,,,,,,,.XX....sss........,,,,,,,,,,,,,,,,,,,,,,,,.....s.................................................,,,,,,,,,,,,,,,,,,,,. [ 74%]
,,,,,,,,.,,..,,,,,,,,,.xx....sss........,,,,,,,,,,,,,,,,,,,,,,,,.....s............................................................................................................... [ 79%]
..................................................................................................................................................................................... [ 86%]
.................................................................................................................... [ 90%]
pint/testsuite/test_systems.py ................... [ 91%]
pint/testsuite/test_testing.py ............ [ 91%]
pint/testsuite/test_umath.py .............................................................. [ 94%]
pint/testsuite/test_unit.py ...,,,,,,,,,,,,,.,,,,,,,.,,,,,,,,,.x,,,,,,,,,............................................................................................................ [ 98%]
............... [ 98%]
pint/testsuite/test_util.py ...............,,,,............. [100%]
========================================================================================= FAILURES ==========================================================================================
________________________________________________________________________________________ test_format ________________________________________________________________________________________
func_registry = <pint.registry.UnitRegistry object at 0x7fc6f38c2c80>
@helpers.requires_babel()
def test_format(func_registry):
ureg = func_registry
dirname = os.path.dirname(__file__)
ureg.load_definitions(os.path.join(dirname, "../xtranslated.txt"))
distance = 24.1 * ureg.meter
> assert distance.format_babel(locale="fr_FR", length="long") == "24,1 mètres"
pint/testsuite/test_babel.py:26:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/typing_extensions.py:2853: in wrapper
return arg(*args, **kwargs)
pint/facets/plain/quantity.py:263: in format_babel
return self._REGISTRY.formatter.format_quantity_babel(self, spec, **kwspec)
pint/delegates/formatter/full.py:249: in format_quantity_babel
return self.format_quantity(
pint/delegates/formatter/full.py:170: in format_quantity
return self.get_formatter(spec).format_quantity(
pint/delegates/formatter/plain.py:136: in format_quantity
self.format_magnitude(quantity.magnitude, mspec, **babel_kwds),
pint/delegates/formatter/plain.py:69: in format_magnitude
with override_locale(mspec, babel_kwds.get("locale", None)) as format_number:
/usr/lib64/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
pint/delegates/formatter/_format_helpers.py:94: in override_locale
setlocale(LC_NUMERIC, locale)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
category = 1, locale = 'fr_FR'
def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be
a string, an iterable of two strings (language code and encoding),
or None.
Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values.
"""
if locale and not isinstance(locale, _builtin_str):
# convert to string
locale = normalize(_build_localename(locale))
> return _setlocale(category, locale)
E locale.Error: unsupported locale setting
/usr/lib64/python3.10/locale.py:620: Error
___________________________________________________________________________________ test_registry_locale ____________________________________________________________________________________
@helpers.requires_babel()
def test_registry_locale():
ureg = UnitRegistry(fmt_locale="fr_FR")
dirname = os.path.dirname(__file__)
ureg.load_definitions(os.path.join(dirname, "../xtranslated.txt"))
distance = 24.1 * ureg.meter
> assert distance.format_babel(length="long") == "24,1 mètres"
pint/testsuite/test_babel.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/typing_extensions.py:2853: in wrapper
return arg(*args, **kwargs)
pint/facets/plain/quantity.py:263: in format_babel
return self._REGISTRY.formatter.format_quantity_babel(self, spec, **kwspec)
pint/delegates/formatter/full.py:249: in format_quantity_babel
return self.format_quantity(
pint/delegates/formatter/full.py:170: in format_quantity
return self.get_formatter(spec).format_quantity(
pint/delegates/formatter/plain.py:136: in format_quantity
self.format_magnitude(quantity.magnitude, mspec, **babel_kwds),
pint/delegates/formatter/plain.py:69: in format_magnitude
with override_locale(mspec, babel_kwds.get("locale", None)) as format_number:
/usr/lib64/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
pint/delegates/formatter/_format_helpers.py:94: in override_locale
setlocale(LC_NUMERIC, locale)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
category = 1, locale = 'fr_FR'
def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be
a string, an iterable of two strings (language code and encoding),
or None.
Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values.
"""
if locale and not isinstance(locale, _builtin_str):
# convert to string
locale = normalize(_build_localename(locale))
> return _setlocale(category, locale)
E locale.Error: unsupported locale setting
/usr/lib64/python3.10/locale.py:620: Error
_________________________________________________________________________________________ test_str __________________________________________________________________________________________
func_registry = <pint.registry.UnitRegistry object at 0x7fc709411c30>
@helpers.requires_babel()
def test_str(func_registry):
ureg = func_registry
d = 24.1 * ureg.meter
s = "24.1 meter"
assert str(d) == s
assert "%s" % d == s
assert f"{d}" == s
ureg.set_fmt_locale("fr_FR")
s = "24,1 mètres"
> assert str(d) == s
pint/testsuite/test_babel.py:100:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/quantity.py:269: in __str__
return self._REGISTRY.formatter.format_quantity(self)
pint/delegates/formatter/full.py:170: in format_quantity
return self.get_formatter(spec).format_quantity(
pint/delegates/formatter/plain.py:136: in format_quantity
self.format_magnitude(quantity.magnitude, mspec, **babel_kwds),
pint/delegates/formatter/plain.py:69: in format_magnitude
with override_locale(mspec, babel_kwds.get("locale", None)) as format_number:
/usr/lib64/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
pint/delegates/formatter/_format_helpers.py:94: in override_locale
setlocale(LC_NUMERIC, locale)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
category = 1, locale = 'fr_FR'
def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be
a string, an iterable of two strings (language code and encoding),
or None.
Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values.
"""
if locale and not isinstance(locale, _builtin_str):
# convert to string
locale = normalize(_build_localename(locale))
> return _setlocale(category, locale)
E locale.Error: unsupported locale setting
/usr/lib64/python3.10/locale.py:620: Error
________________________________________________________________________________ TestIssues.test_issue_1400 _________________________________________________________________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7fc70a7428f0>, sess_registry = <pint.registry.UnitRegistry object at 0x7fc6f38dc5e0>
@helpers.requires_babel()
def test_issue_1400(self, sess_registry):
q1 = 3.1 * sess_registry.W
q2 = 3.1 * sess_registry.W / sess_registry.cm
> assert q1.format_babel("~", locale="es_ES") == "3,1 W"
pint/testsuite/test_issues.py:920:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/typing_extensions.py:2853: in wrapper
return arg(*args, **kwargs)
pint/facets/plain/quantity.py:263: in format_babel
return self._REGISTRY.formatter.format_quantity_babel(self, spec, **kwspec)
pint/delegates/formatter/full.py:249: in format_quantity_babel
return self.format_quantity(
pint/delegates/formatter/full.py:170: in format_quantity
return self.get_formatter(spec).format_quantity(
pint/delegates/formatter/plain.py:136: in format_quantity
self.format_magnitude(quantity.magnitude, mspec, **babel_kwds),
pint/delegates/formatter/plain.py:69: in format_magnitude
with override_locale(mspec, babel_kwds.get("locale", None)) as format_number:
/usr/lib64/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
pint/delegates/formatter/_format_helpers.py:94: in override_locale
setlocale(LC_NUMERIC, locale)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
category = 1, locale = 'es_ES'
def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be
a string, an iterable of two strings (language code and encoding),
or None.
Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values.
"""
if locale and not isinstance(locale, _builtin_str):
# convert to string
locale = normalize(_build_localename(locale))
> return _setlocale(category, locale)
E locale.Error: unsupported locale setting
/usr/lib64/python3.10/locale.py:620: Error
========================================================================================= XFAILURES =========================================================================================
__________________________________________________________________________________ TestIssues.test_issue25 __________________________________________________________________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7fc70a73ee60>, module_registry = <pint.registry.UnitRegistry object at 0x7fc6f381ae30>
@pytest.mark.xfail
def test_issue25(self, module_registry):
> x = ParserHelper.from_string("10 %")
pint/testsuite/test_issues.py:32:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/util.py:774: in from_string
ret = build_eval_tree(gen).evaluate(
pint/pint_eval.py:565: in build_eval_tree
result, _ = _build_eval_tree(tokens, op_priority, 0, 0)
pint/pint_eval.py:482: in _build_eval_tree
right, index = _build_eval_tree(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tokens = [TokenInfo(type=2 (NUMBER), string='10', start=(1, 0), end=(1, 2), line='10 %'), TokenInfo(type=54 (OP), string='%', s...ng='', start=(1, 4), end=(1, 5), line=''), TokenInfo(type=0 (ENDMARKER), string='', start=(2, 0), end=(2, 0), line='')]
op_priority = {'': 1, '%': 1, '*': 1, '**': 3, ...}, index = 3, depth = 1, prev_op = '%'
def _build_eval_tree(
tokens: list[TokenInfo],
op_priority: dict[str, int],
index: int = 0,
depth: int = 0,
prev_op: str = "<none>",
) -> tuple[EvalTreeNode, int]:
"""Build an evaluation tree from a set of tokens.
Params:
Index, depth, and prev_op used recursively, so don't touch.
Tokens is an iterable of tokens from an expression to be evaluated.
Transform the tokens from an expression into a recursive parse tree, following order
of operations. Operations can include binary ops (3 + 4), implicit ops (3 kg), or
unary ops (-1).
General Strategy:
1) Get left side of operator
2) If no tokens left, return final result
3) Get operator
4) Use recursion to create tree starting at token on right side of operator (start at step #1)
4.1) If recursive call encounters an operator with lower or equal priority to step #2, exit recursion
5) Combine left side, operator, and right side into a new left side
6) Go back to step #2
Raises
------
DefinitionSyntaxError
If there is a syntax error.
"""
result = None
while True:
current_token = tokens[index]
token_type = current_token.type
token_text = current_token.string
if token_type == tokenlib.OP:
if token_text == ")":
if prev_op == "<none>":
raise DefinitionSyntaxError(
f"unopened parentheses in tokens: {current_token}"
)
elif prev_op == "(":
# close parenthetical group
assert result is not None
return result, index
else:
# parenthetical group ending, but we need to close sub-operations within group
assert result is not None
return result, index - 1
elif token_text == "(":
# gather parenthetical group
right, index = _build_eval_tree(
tokens, op_priority, index + 1, 0, token_text
)
if not tokens[index][1] == ")":
raise DefinitionSyntaxError("weird exit from parentheses")
if result:
# implicit op with a parenthetical group, i.e. "3 (kg ** 2)"
result = EvalTreeNode(left=result, right=right)
else:
# get first token
result = right
elif token_text in op_priority:
if result:
# equal-priority operators are grouped in a left-to-right order,
# unless they're exponentiation, in which case they're grouped
# right-to-left this allows us to get the expected behavior for
# multiple exponents
# (2^3^4) --> (2^(3^4))
# (2 * 3 / 4) --> ((2 * 3) / 4)
if op_priority[token_text] <= op_priority.get(
prev_op, -1
) and token_text not in ("**", "^"):
# previous operator is higher priority, so end previous binary op
return result, index - 1
# get right side of binary op
right, index = _build_eval_tree(
tokens, op_priority, index + 1, depth + 1, token_text
)
result = EvalTreeNode(
left=result, operator=current_token, right=right
)
else:
# unary operator
right, index = _build_eval_tree(
tokens, op_priority, index + 1, depth + 1, "unary"
)
result = EvalTreeNode(left=right, operator=current_token)
elif token_type in (tokenlib.NUMBER, tokenlib.NAME):
if result:
# tokens with an implicit operation i.e. "1 kg"
if op_priority[""] <= op_priority.get(prev_op, -1):
# previous operator is higher priority than implicit, so end
# previous binary op
return result, index - 1
right, index = _build_eval_tree(
tokens, op_priority, index, depth + 1, ""
)
result = EvalTreeNode(left=result, right=right)
else:
# get first token
result = EvalTreeNode(left=current_token)
if tokens[index][0] == tokenlib.ENDMARKER:
if prev_op == "(":
raise DefinitionSyntaxError("unclosed parentheses in tokens")
if depth > 0 or prev_op:
# have to close recursion
> assert result is not None
E AssertionError
pint/pint_eval.py:514: AssertionError
__________________________________________________________________________________ TestIssues.test_issue37 __________________________________________________________________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7fc70a73dc00>, module_registry = <pint.registry.UnitRegistry object at 0x7fc6f381ae30>
@pytest.mark.xfail
@helpers.requires_numpy
def test_issue37(self, module_registry):
x = np.ma.masked_array([1, 2, 3], mask=[True, True, False])
q = module_registry.meter * x
assert isinstance(q, module_registry.Quantity)
np.testing.assert_array_equal(q.magnitude, x)
> assert q.units == module_registry.meter.units
E AttributeError: 'Unit' object has no attribute 'units'. Did you mean: '_units'?
pint/testsuite/test_issues.py:57: AttributeError
__________________________________________________________________________________ TestIssues.test_issue39 __________________________________________________________________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7fc70a73c7f0>, module_registry = <pint.registry.UnitRegistry object at 0x7fc6f381ae30>
@pytest.mark.xfail
@helpers.requires_numpy
def test_issue39(self, module_registry):
x = np.matrix([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
q = module_registry.meter * x
assert isinstance(q, module_registry.Quantity)
np.testing.assert_array_equal(q.magnitude, x)
> assert q.units == module_registry.meter.units
E AttributeError: 'Unit' object has no attribute 'units'. Did you mean: '_units'?
pint/testsuite/test_issues.py:80: AttributeError
_________________________________________________________________________________ TestIssues.test_issue86c __________________________________________________________________________________
self = <pint.testsuite.test_issues.TestIssues object at 0x7fc70a73d090>, module_registry = <pint.registry.UnitRegistry object at 0x7fc6f381ae30>
@pytest.mark.xfail
def test_issue86c(self, module_registry):
module_registry.autoconvert_offset_to_baseunit = True
T = module_registry.degC
T = 100.0 * T
> helpers.assert_quantity_almost_equal(
module_registry.k * 2 * T, module_registry.k * (2 * T)
)
pint/testsuite/test_issues.py:327:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
first = <Quantity(746.3, 'boltzmann_constant * kelvin')>, second = <Quantity(473.15, 'boltzmann_constant * kelvin')>, rtol = 1e-07, atol = 0
msg = "Comparing <Quantity(746.3, 'boltzmann_constant * kelvin')> and <Quantity(473.15, 'boltzmann_constant * kelvin')>. (Converted to 746.3 and 473.15)"
def assert_allclose(
first, second, rtol: float = 1e-07, atol: float = 0, msg: str | None = None
) -> None:
if msg is None:
try:
msg = f"Comparing {first!r} and {second!r}. "
except (TypeError, ValueError):
try:
msg = f"Comparing {first} and {second}. "
except Exception:
msg = "Comparing"
m1, m2 = _get_comparable_magnitudes(first, second, msg)
msg += f" (Converted to {m1!r} and {m2!r})"
if isinstance(m1, ndarray) or isinstance(m2, ndarray):
np.testing.assert_allclose(m1, m2, rtol=rtol, atol=atol, err_msg=msg)
elif not isinstance(m1, Number):
warnings.warn("In assert_equal, m1 is not a number ", UserWarning)
return
elif not isinstance(m2, Number):
warnings.warn("In assert_equal, m2 is not a number ", UserWarning)
return
elif math.isnan(m1):
assert math.isnan(m2), msg
elif math.isnan(m2):
assert math.isnan(m1), msg
elif math.isinf(m1):
assert math.isinf(m2), msg
elif math.isinf(m2):
assert math.isinf(m1), msg
else:
# Numpy version (don't like because is not symmetric)
# assert abs(m1 - m2) <= atol + rtol * abs(m2), msg
> assert abs(m1 - m2) <= max(rtol * max(abs(m1), abs(m2)), atol), msg
E AssertionError: Comparing <Quantity(746.3, 'boltzmann_constant * kelvin')> and <Quantity(473.15, 'boltzmann_constant * kelvin')>. (Converted to 746.3 and 473.15)
pint/testing.py:94: AssertionError
__________________________________________________________________________________ test_issues_1841_xfail ___________________________________________________________________________________
@pytest.mark.xfail
def test_issues_1841_xfail():
from pint import formatting as fmt
from pint.delegates.formatter._compound_unit_helpers import sort_by_dimensionality
# sets compact display mode by default
ur = UnitRegistry()
ur.default_format = "~P"
ur.formatter.default_sort_func = sort_by_dimensionality
q = ur.Quantity("2*pi radian * hour")
# Note that `radian` (and `bit` and `count`) are treated as dimensionless.
# And note that dimensionless quantities are stripped by this process,
# leading to errorneous output. Suggestions?
> assert (
fmt.format_unit(q.u._units, spec="", registry=ur, sort_dims=True)
== "radian * hour"
)
E AssertionError: assert 'pi * radian * hour' == 'radian * hour'
E
E - radian * hour
E + pi * radian * hour
E ? +++++
pint/testsuite/test_issues.py:1225: AssertionError
________________________________________________________________________ test_compound_log_unit_multiply_definition _________________________________________________________________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7fc6f29496c0>
@pytest.mark.xfail
def test_compound_log_unit_multiply_definition(module_registry_auto_offset):
"""Check that compound log units can be defined using multiply."""
Q_ = module_registry_auto_offset.Quantity
canonical_def = Q_(-161, "dBm") / module_registry_auto_offset.Hz
mult_def = -161 * module_registry_auto_offset("dBm/Hz")
> assert mult_def == canonical_def
E AssertionError: assert <Quantity(-202.686991, 'gram * meter ** 2 / second ** 3 / hertz')> == <Quantity(7.94328235e-17, 'gram * meter ** 2 / second ** 3 / hertz')>
pint/testsuite/test_log_units.py:231: AssertionError
________________________________________________________________________ test_compound_log_unit_quantity_definition _________________________________________________________________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7fc6f29496c0>
@pytest.mark.xfail
def test_compound_log_unit_quantity_definition(module_registry_auto_offset):
"""Check that compound log units can be defined using ``Quantity()``."""
Q_ = module_registry_auto_offset.Quantity
canonical_def = Q_(-161, "dBm") / module_registry_auto_offset.Hz
quantity_def = Q_(-161, "dBm/Hz")
> assert quantity_def == canonical_def
pint/testsuite/test_log_units.py:240:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/quantity.py:100: in wrapped
return f(self, *args, **kwargs)
pint/facets/plain/quantity.py:1351: in __eq__
self._convert_magnitude_not_inplace(other._units),
pint/facets/plain/quantity.py:479: in _convert_magnitude_not_inplace
return self._REGISTRY.convert(self._magnitude, self._units, other)
pint/facets/plain/registry.py:1038: in convert
return self._convert(value, src, dst, inplace)
pint/facets/context/registry.py:405: in _convert
return super()._convert(value, src, dst, inplace)
pint/facets/nonmultiplicative/registry.py:246: in _convert
src_offset_unit = self._validate_and_extract(src)
pint/facets/nonmultiplicative/registry.py:165: in _validate_and_extract
nonmult_units = [
pint/facets/nonmultiplicative/registry.py:166: in <listcomp>
(u, e) for u, e in units.items() if not self._is_multiplicative(u)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pint.registry.UnitRegistry object at 0x7fc6f29496c0>, unit_name = 'delta_decibelmilliwatt'
def _is_multiplicative(self, unit_name: str) -> bool:
"""True if the unit is multiplicative.
Parameters
----------
unit_name
Name of the unit to check.
Can be prefixed, pluralized or even an alias
Raises
------
UndefinedUnitError
If the unit is not in the registry.
"""
if unit_name in self._units:
return self._units[unit_name].is_multiplicative
# If the unit is not in the registry might be because it is not
# registered with its prefixed version.
# TODO: Might be better to register them.
names = self.parse_unit_name(unit_name)
> assert len(names) == 1
E AssertionError
pint/facets/nonmultiplicative/registry.py:131: AssertionError
___________________________________________________________________________________ test_dbm_db_addition ____________________________________________________________________________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7fc6f29496c0>
@pytest.mark.xfail
def test_dbm_db_addition(module_registry_auto_offset):
"""Test a dB value can be added to a dBm and the answer is correct."""
> power = (5 * module_registry_auto_offset.dBm) + (
10 * module_registry_auto_offset.dB
)
pint/testsuite/test_log_units.py:261:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/quantity.py:848: in __add__
return self._add_sub(other, operator.add)
pint/facets/plain/quantity.py:100: in wrapped
return f(self, *args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Quantity(5, 'decibelmilliwatt')>, other = <Quantity(10, 'decibel')>, op = <built-in function add>
@check_implemented
def _add_sub(self, other, op):
"""Perform addition or subtraction operation and return the result.
Parameters
----------
other : pint.PlainQuantity or any type accepted by :func:`_to_magnitude`
object to be added to / subtracted from self
op : function
operator function (e.g. operator.add, operator.isub)
"""
if not self._check(other):
# other not from same Registry or not a PlainQuantity
if zero_or_nan(other, True):
# If the other value is 0 or NaN (but not a PlainQuantity)
# do the operation without checking units.
# We do the calculation instead of just returning the same
# value to enforce any shape checking and type casting due to
# the operation.
units = self._units
magnitude = op(
self._magnitude,
_to_magnitude(other, self.force_ndarray, self.force_ndarray_like),
)
elif self.dimensionless:
units = self.UnitsContainer()
magnitude = op(
self.to(units)._magnitude,
_to_magnitude(other, self.force_ndarray, self.force_ndarray_like),
)
else:
raise DimensionalityError(self._units, "dimensionless")
return self.__class__(magnitude, units)
if not self.dimensionality == other.dimensionality:
> raise DimensionalityError(
self._units, other._units, self.dimensionality, other.dimensionality
)
E pint.errors.DimensionalityError: Cannot convert from 'decibelmilliwatt' ([mass] * [length] ** 2 / [time] ** 3) to 'decibel' (dimensionless)
pint/facets/plain/quantity.py:750: DimensionalityError
________________________________________________________________________ test_frequency_octave_addition[100-2.0-400] ________________________________________________________________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7fc6f29496c0>, freq1 = <Quantity(100, 'hertz')>, octaves = 2.0, freq2 = 400
@pytest.mark.xfail
@pytest.mark.parametrize(
"freq1,octaves,freq2",
[
(100, 2.0, 400),
(50, 1.0, 100),
(200, 0.0, 200),
], # noqa: E231
)
def test_frequency_octave_addition(module_registry_auto_offset, freq1, octaves, freq2):
"""Test an Octave can be added to a frequency correctly"""
freq1 = freq1 * module_registry_auto_offset.Hz
> shift = octaves * module_registry_auto_offset.Octave
pint/testsuite/test_log_units.py:279:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/registry.py:367: in __getattr__
return self.Unit(item)
pint/facets/plain/unit.py:41: in __init__
self._units = self._REGISTRY.parse_units(units)._units
pint/facets/plain/registry.py:1199: in parse_units
self.parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/nonmultiplicative/registry.py:69: in parse_units_as_container
return super().parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1214: in parse_units_as_container
return self._parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1249: in _parse_units_as_container
cname = self.get_name(name, case_sensitive=case_sensitive)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pint.registry.UnitRegistry object at 0x7fc6f29496c0>, name_or_alias = 'Octave', case_sensitive = True
def get_name(self, name_or_alias: str, case_sensitive: bool | None = None) -> str:
"""Return the canonical name of a unit."""
if name_or_alias == "dimensionless":
return ""
try:
return self._units[name_or_alias].name
except KeyError:
pass
candidates = self.parse_unit_name(name_or_alias, case_sensitive)
if not candidates:
> raise UndefinedUnitError(name_or_alias)
E pint.errors.UndefinedUnitError: 'Octave' is not defined in the unit registry
pint/facets/plain/registry.py:658: UndefinedUnitError
________________________________________________________________________ test_frequency_octave_addition[50-1.0-100] _________________________________________________________________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7fc6f29496c0>, freq1 = <Quantity(50, 'hertz')>, octaves = 1.0, freq2 = 100
@pytest.mark.xfail
@pytest.mark.parametrize(
"freq1,octaves,freq2",
[
(100, 2.0, 400),
(50, 1.0, 100),
(200, 0.0, 200),
], # noqa: E231
)
def test_frequency_octave_addition(module_registry_auto_offset, freq1, octaves, freq2):
"""Test an Octave can be added to a frequency correctly"""
freq1 = freq1 * module_registry_auto_offset.Hz
> shift = octaves * module_registry_auto_offset.Octave
pint/testsuite/test_log_units.py:279:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/registry.py:367: in __getattr__
return self.Unit(item)
pint/facets/plain/unit.py:41: in __init__
self._units = self._REGISTRY.parse_units(units)._units
pint/facets/plain/registry.py:1199: in parse_units
self.parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/nonmultiplicative/registry.py:69: in parse_units_as_container
return super().parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1214: in parse_units_as_container
return self._parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1249: in _parse_units_as_container
cname = self.get_name(name, case_sensitive=case_sensitive)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pint.registry.UnitRegistry object at 0x7fc6f29496c0>, name_or_alias = 'Octave', case_sensitive = True
def get_name(self, name_or_alias: str, case_sensitive: bool | None = None) -> str:
"""Return the canonical name of a unit."""
if name_or_alias == "dimensionless":
return ""
try:
return self._units[name_or_alias].name
except KeyError:
pass
candidates = self.parse_unit_name(name_or_alias, case_sensitive)
if not candidates:
> raise UndefinedUnitError(name_or_alias)
E pint.errors.UndefinedUnitError: 'Octave' is not defined in the unit registry
pint/facets/plain/registry.py:658: UndefinedUnitError
________________________________________________________________________ test_frequency_octave_addition[200-0.0-200] ________________________________________________________________________
module_registry_auto_offset = <pint.registry.UnitRegistry object at 0x7fc6f29496c0>, freq1 = <Quantity(200, 'hertz')>, octaves = 0.0, freq2 = 200
@pytest.mark.xfail
@pytest.mark.parametrize(
"freq1,octaves,freq2",
[
(100, 2.0, 400),
(50, 1.0, 100),
(200, 0.0, 200),
], # noqa: E231
)
def test_frequency_octave_addition(module_registry_auto_offset, freq1, octaves, freq2):
"""Test an Octave can be added to a frequency correctly"""
freq1 = freq1 * module_registry_auto_offset.Hz
> shift = octaves * module_registry_auto_offset.Octave
pint/testsuite/test_log_units.py:279:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/plain/registry.py:367: in __getattr__
return self.Unit(item)
pint/facets/plain/unit.py:41: in __init__
self._units = self._REGISTRY.parse_units(units)._units
pint/facets/plain/registry.py:1199: in parse_units
self.parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/nonmultiplicative/registry.py:69: in parse_units_as_container
return super().parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1214: in parse_units_as_container
return self._parse_units_as_container(input_string, as_delta, case_sensitive)
pint/facets/plain/registry.py:1249: in _parse_units_as_container
cname = self.get_name(name, case_sensitive=case_sensitive)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pint.registry.UnitRegistry object at 0x7fc6f29496c0>, name_or_alias = 'Octave', case_sensitive = True
def get_name(self, name_or_alias: str, case_sensitive: bool | None = None) -> str:
"""Return the canonical name of a unit."""
if name_or_alias == "dimensionless":
return ""
try:
return self._units[name_or_alias].name
except KeyError:
pass
candidates = self.parse_unit_name(name_or_alias, case_sensitive)
if not candidates:
> raise UndefinedUnitError(name_or_alias)
E pint.errors.UndefinedUnitError: 'Octave' is not defined in the unit registry
pint/facets/plain/registry.py:658: UndefinedUnitError
______________________________________________________________ TestNumpyMathematicalFunctions.test_exponentiation_array_exp_2 _______________________________________________________________
self = <pint.testsuite.test_numpy.TestNumpyMathematicalFunctions object at 0x7fc709c79780>
@pytest.mark.xfail
@helpers.requires_numpy
def test_exponentiation_array_exp_2(self):
arr = np.array(range(3), dtype=float)
# q = self.Q_(copy.copy(arr), None)
q = self.Q_(copy.copy(arr), "meter")
arr_cp = copy.copy(arr)
q_cp = copy.copy(q)
# this fails as expected since numpy 1.8.0 but...
with pytest.raises(DimensionalityError):
op.pow(arr_cp, q_cp)
# ..not for op.ipow !
# q_cp is treated as if it is an array. The units are ignored.
# Quantity.__ipow__ is never called
arr_cp = copy.copy(arr)
q_cp = copy.copy(q)
with pytest.raises(DimensionalityError):
> op.ipow(arr_cp, q_cp)
pint/testsuite/test_numpy.py:566:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pint/facets/numpy/quantity.py:72: in __array_ufunc__
return numpy_wrap("ufunc", ufunc, inputs, kwargs, types)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
func_type = 'ufunc', func = <ufunc 'power'>, args = (array([0., 1., 2.]), <Quantity([0. 1. 2.], 'meter')>), kwargs = {'out': (array([0., 1., 2.]),)}
types = {<class 'pint.Quantity'>, <class 'numpy.ndarray'>}
def numpy_wrap(func_type, func, args, kwargs, types):
"""Return the result from a NumPy function/ufunc as wrapped by Pint."""
if func_type == "function":
handled = HANDLED_FUNCTIONS
# Need to handle functions in submodules
name = ".".join(func.__module__.split(".")[1:] + [func.__name__])
elif func_type == "ufunc":
handled = HANDLED_UFUNCS
# ufuncs do not have func.__module__
name = func.__name__
else:
raise ValueError(f"Invalid func_type {func_type}")
if name not in handled or any(is_upcast_type(t) for t in types):
return NotImplemented
> return handled[name](*args, **kwargs)
E TypeError: _power() got an unexpected keyword argument 'out'
pint/facets/numpy/numpy_func.py:1071: TypeError
__________________________________________________________ TestQuantityWithDefaultRegistry.test_formatting_override_default_units ___________________________________________________________
self = <pint.testsuite.test_quantity.TestQuantityWithDefaultRegistry object at 0x7fc70988f430>
@pytest.mark.xfail(reason="Still not clear how default formatting will work.")
def test_formatting_override_default_units(self):
ureg = UnitRegistry()
ureg.formatter.default_format = "~"
x = ureg.Quantity(4, "m ** 2")
assert f"{x:dP}" == "4 meter²"
> with pytest.warns(DeprecationWarning):
E Failed: DID NOT WARN. No warnings of type (<class 'DeprecationWarning'>,) were emitted.
E Emitted warnings: [].
pint/testsuite/test_quantity.py:278: Failed
________________________________________________________ TestQuantityWithDefaultRegistry.test_formatting_override_default_magnitude _________________________________________________________
self = <pint.testsuite.test_quantity.TestQuantityWithDefaultRegistry object at 0x7fc70988f010>
@pytest.mark.xfail(reason="Still not clear how default formatting will work.")
def test_formatting_override_default_magnitude(self):
ureg = UnitRegistry()
ureg.formatter.default_format = ".2f"
x = ureg.Quantity(4, "m ** 2")
assert f"{x:dP}" == "4 meter²"
> with pytest.warns(DeprecationWarning):
E Failed: DID NOT WARN. No warnings of type (<class 'DeprecationWarning'>,) were emitted.
E Emitted warnings: [].
pint/testsuite/test_quantity.py:292: Failed
______________________________________________________________________ TestUnit.test_unit_formatting_defaults_warning _______________________________________________________________________
self = <pint.testsuite.test_unit.TestUnit object at 0x7fc708ea5270>
@pytest.mark.xfail(reason="Still not clear how default formatting will work.")
def test_unit_formatting_defaults_warning(self):
ureg = UnitRegistry()
ureg.default_format = "~P"
x = ureg.Unit("m / s ** 2")
> with pytest.warns(DeprecationWarning):
E Failed: DID NOT WARN. No warnings of type (<class 'DeprecationWarning'>,) were emitted.
E Emitted warnings: [].
pint/testsuite/test_unit.py:116: Failed
===================================================================================== warnings summary ======================================================================================
pint/testsuite/benchmarks/test_00_common.py::test_import
/usr/lib/python3.10/site-packages/_pytest/python.py:166: PytestReturnNotNoneWarning: Expected None, but pint/testsuite/benchmarks/test_00_common.py::test_import returned 318468, which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`?
warnings.warn(
pint/testsuite/benchmarks/test_00_common.py::test_import
pint/testsuite/benchmarks/test_00_common.py:7: PytestBenchmarkWarning: Benchmark fixture was not used at all in this test!
def test_import(benchmark):
pint/testsuite/test_babel.py::test_format
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_babel.py:26: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_quantity_babel
assert distance.format_babel(locale="fr_FR", length="long") == "24,1 mètres"
pint/testsuite/test_babel.py::test_registry_locale
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_babel.py:46: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_quantity_babel
assert distance.format_babel(length="long") == "24,1 mètres"
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_babel.py:67: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_unit_babel
assert volume.format_babel() == "millilitre"
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_babel.py:69: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = "~"
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_babel.py:70: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_unit_babel
assert volume.format_babel() == "ml"
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_babel.py:73: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_unit_babel
assert dimensionless_unit.format_babel() == ""
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_babel.py:75: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.set_locale
ureg.set_fmt_locale(None)
pint/testsuite/test_babel.py::test_unit_format_babel
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_babel.py:77: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_unit_babel
volume.format_babel()
pint/testsuite/test_babel.py::test_no_registry_locale
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_babel.py:85: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_quantity_babel
distance.format_babel()
pint/testsuite/test_babel.py::test_str
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_babel.py:98: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.set_locale
ureg.set_fmt_locale("fr_FR")
pint/testsuite/test_issues.py::TestIssues::test_issue39
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_issues.py:76: PendingDeprecationWarning: the matrix subclass is not the recommended way to represent matrices or deal with linear algebra (see https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please adjust your code to use regular ndarray.
x = np.matrix([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
pint/testsuite/test_issues.py::TestIssues::test_issue_1400
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_issues.py:920: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.format_quantity_babel
assert q1.format_babel("~", locale="es_ES") == "3,1 W"
pint/testsuite/test_issues.py::test_issues_1841[units0-P~-V\xb7A]
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_issues.py:1205: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ur.default_format = spec
pint/testsuite/test_issues.py::test_issues_1841_xfail
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_issues.py:1217: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ur.default_format = "~P"
pint/testsuite/test_numpy.py::TestNumpyUnclassified::test_put
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/facets/numpy/quantity.py:154: UnitStrippedWarning: The unit of the quantity is stripped when downcasting to ndarray.
self.magnitude.put(indices, values, mode)
pint/testsuite/test_numpy.py::TestNumpyUnclassified::test_copyto
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/facets/numpy/numpy_func.py:1071: UnitStrippedWarning: The unit of the quantity is stripped when copying to non-quantity
return handled[name](*args, **kwargs)
pint/testsuite/test_quantity.py::TestQuantityToCompact::test_nonnumeric_magnitudes
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testing.py:78: UserWarning: In assert_equal, m1 is not a number
warnings.warn("In assert_equal, m1 is not a number ", UserWarning)
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_unit.py:73: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = spec
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
pint/testsuite/test_unit.py::TestUnit::test_latex_escaping
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_unit.py:86: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = spec
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
pint/testsuite/test_unit.py::TestUnit::test_unit_default_formatting
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_unit.py:107: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = spec
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_defaults_warning
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_unit.py:113: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = "~P"
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
pint/testsuite/test_unit.py::TestUnit::test_unit_formatting_snake_case
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_unit.py:139: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = spec
pint/testsuite/test_unit.py::TestUnit::test_ipython
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_unit.py:180: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = "~"
pint/testsuite/test_unit.py::TestRegistry::test_default_format
pint/testsuite/test_unit.py::TestRegistryWithDefaultRegistry::test_default_format
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_unit.py:325: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
ureg.default_format = "~"
pint/testsuite/test_unit.py::TestRegistry::test_default_format
pint/testsuite/test_unit.py::TestRegistryWithDefaultRegistry::test_default_format
/home/tkloczko/rpmbuild/BUILD/pint-0.24.1/pint/testsuite/test_unit.py:329: DeprecationWarning: This function will be removed in future versions of pint.
Use ureg.formatter.default_format
assert ureg.default_format == "~"
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html |
I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.
python3 -sBm build -w --no-isolation
build
with--no-isolation
I'm using during all processes only locally installed modulesinstaller
modulecut off from access to the public network
(pytest is executed with-m "not network"
)List of installed modules in build env:
Please let me know if you need more details or want me to perform some diagnostics.
The text was updated successfully, but these errors were encountered: