diff --git a/src/pyrecest/_backend/pytorch/random.py b/src/pyrecest/_backend/pytorch/random.py index 54340db9d..eaf5728a5 100644 --- a/src/pyrecest/_backend/pytorch/random.py +++ b/src/pyrecest/_backend/pytorch/random.py @@ -267,9 +267,7 @@ def _validate_randint_array_dtype_bounds(low, high, dtype): # representable by the output dtype, as in randint(255, 256, dtype=uint8). # For int64, input tensors cannot represent max + 1, so every accepted high # value is already within the valid endpoint range. - if dtype != _torch.int64 and bool( - _torch.any(high_int64 > dtype_info.max + 1) - ): + if dtype != _torch.int64 and bool(_torch.any(high_int64 > dtype_info.max + 1)): raise ValueError(f"high is out of bounds for {dtype_name}") diff --git a/src/pyrecest/models/linear_gaussian.py b/src/pyrecest/models/linear_gaussian.py index 31ee97165..fe52be917 100644 --- a/src/pyrecest/models/linear_gaussian.py +++ b/src/pyrecest/models/linear_gaussian.py @@ -2,8 +2,8 @@ from numbers import Complex, Integral, Real +from pyrecest.backend import all as backend_all from pyrecest.backend import ( - all as backend_all, asarray, ) from pyrecest.backend import copy as backend_copy diff --git a/tests/backend/test_pytorch_randint_dtype_bounds.py b/tests/backend/test_pytorch_randint_dtype_bounds.py index d633ecfa4..3de40b1f3 100644 --- a/tests/backend/test_pytorch_randint_dtype_bounds.py +++ b/tests/backend/test_pytorch_randint_dtype_bounds.py @@ -1,7 +1,6 @@ import numpy as np import pytest - torch = pytest.importorskip("torch") from pyrecest._backend.pytorch import random # noqa: E402 @@ -16,9 +15,7 @@ ([0], [129], np.int8, "high is out of bounds for int8"), ], ) -def test_array_randint_rejects_bounds_outside_output_dtype( - low, high, dtype, message -): +def test_array_randint_rejects_bounds_outside_output_dtype(low, high, dtype, message): with pytest.raises(ValueError, match=message): random.randint(low, high, dtype=dtype) diff --git a/tests/distributions/test_ellipsoidal_ball_temporal_sample_count.py b/tests/distributions/test_ellipsoidal_ball_temporal_sample_count.py index 0e5cd24c2..8a4eda059 100644 --- a/tests/distributions/test_ellipsoidal_ball_temporal_sample_count.py +++ b/tests/distributions/test_ellipsoidal_ball_temporal_sample_count.py @@ -1,6 +1,5 @@ import numpy as np import pytest - from pyrecest.backend import array, diag from pyrecest.distributions import EllipsoidalBallUniformDistribution diff --git a/tests/filters/test_relaxed_s3f_process_noise_validation.py b/tests/filters/test_relaxed_s3f_process_noise_validation.py index b8d1cdca0..a02a22037 100644 --- a/tests/filters/test_relaxed_s3f_process_noise_validation.py +++ b/tests/filters/test_relaxed_s3f_process_noise_validation.py @@ -28,7 +28,9 @@ def test_rejects_nonsymmetric_process_noise_without_mutating_state(self): self.assertTrue( bool( - (filter_.filter_state.linear_distributions[0].C == covariance_before).all() + ( + filter_.filter_state.linear_distributions[0].C == covariance_before + ).all() ) ) @@ -45,7 +47,9 @@ def test_rejects_indefinite_process_noise_without_mutating_state(self): self.assertTrue( bool( - (filter_.filter_state.linear_distributions[0].C == covariance_before).all() + ( + filter_.filter_state.linear_distributions[0].C == covariance_before + ).all() ) ) diff --git a/tests/models/test_linear_gaussian_finite_inputs.py b/tests/models/test_linear_gaussian_finite_inputs.py index 07c87cc39..0227adce6 100644 --- a/tests/models/test_linear_gaussian_finite_inputs.py +++ b/tests/models/test_linear_gaussian_finite_inputs.py @@ -15,27 +15,19 @@ def test_models_reject_nonfinite_system_and_measurement_matrices(self): for value in (np.nan, np.inf, -np.inf): with self.subTest(model="transition", value=value): with self.assertRaisesRegex(ValueError, "matrix.*finite"): - LinearGaussianTransitionModel( - array([[value]]), array([[1.0]]) - ) + LinearGaussianTransitionModel(array([[value]]), array([[1.0]])) with self.subTest(model="measurement", value=value): with self.assertRaisesRegex(ValueError, "matrix.*finite"): - LinearGaussianMeasurementModel( - array([[value]]), array([[1.0]]) - ) + LinearGaussianMeasurementModel(array([[value]]), array([[1.0]])) def test_models_reject_nonfinite_noise_covariances(self): for value in (np.nan, np.inf, -np.inf): with self.subTest(model="transition", value=value): with self.assertRaisesRegex(ValueError, "noise_cov.*finite"): - LinearGaussianTransitionModel( - array([[1.0]]), array([[value]]) - ) + LinearGaussianTransitionModel(array([[1.0]]), array([[value]])) with self.subTest(model="measurement", value=value): with self.assertRaisesRegex(ValueError, "noise_cov.*finite"): - LinearGaussianMeasurementModel( - array([[1.0]]), array([[value]]) - ) + LinearGaussianMeasurementModel(array([[1.0]]), array([[value]])) def test_transition_model_rejects_nonfinite_offset(self): for value in (np.nan, np.inf, -np.inf): @@ -55,12 +47,8 @@ def test_identity_models_reject_nonfinite_scalar_noise(self): IdentityGaussianMeasurementModel(1, value) def test_prediction_rejects_nonfinite_state_inputs(self): - transition = LinearGaussianTransitionModel( - array([[1.0]]), array([[1.0]]) - ) - measurement = LinearGaussianMeasurementModel( - array([[1.0]]), array([[1.0]]) - ) + transition = LinearGaussianTransitionModel(array([[1.0]]), array([[1.0]])) + measurement = LinearGaussianMeasurementModel(array([[1.0]]), array([[1.0]])) for value in (np.nan, np.inf, -np.inf): with self.subTest(method="transition mean", value=value): diff --git a/tests/test_deprecation_helper.py b/tests/test_deprecation_helper.py index ef851b7ed..7251d5a62 100644 --- a/tests/test_deprecation_helper.py +++ b/tests/test_deprecation_helper.py @@ -25,9 +25,9 @@ def test_deprecated_decorator_supports_partial_callables(): def add(left, right): return left + right - legacy_add_one = deprecated( - since="2.3.0", remove_in="3.0.0", replacement="add" - )(functools.partial(add, 1)) + legacy_add_one = deprecated(since="2.3.0", remove_in="3.0.0", replacement="add")( + functools.partial(add, 1) + ) with warnings.catch_warnings(record=True) as caught: warnings.simplefilter("always") diff --git a/tests/test_evidence_terminal_posterior_validation.py b/tests/test_evidence_terminal_posterior_validation.py index 0f0cf09aa..33f52d94b 100644 --- a/tests/test_evidence_terminal_posterior_validation.py +++ b/tests/test_evidence_terminal_posterior_validation.py @@ -1,5 +1,4 @@ import pytest - from pyrecest.evidence import EvidenceComputationMode diff --git a/tests/test_gaussian_sampler_zero_samples.py b/tests/test_gaussian_sampler_zero_samples.py index 22397d2ca..bd4d6b108 100644 --- a/tests/test_gaussian_sampler_zero_samples.py +++ b/tests/test_gaussian_sampler_zero_samples.py @@ -1,5 +1,4 @@ import numpy as np - from pyrecest.sampling.euclidean_sampler import GaussianSampler