diff --git a/src/pyrecest/distributions/abstract_ellipsoidal_ball_distribution.py b/src/pyrecest/distributions/abstract_ellipsoidal_ball_distribution.py index 8e34d530e..b7d43c333 100644 --- a/src/pyrecest/distributions/abstract_ellipsoidal_ball_distribution.py +++ b/src/pyrecest/distributions/abstract_ellipsoidal_ball_distribution.py @@ -1,4 +1,6 @@ -from math import lgamma, log as scalar_log, pi as scalar_pi +from math import lgamma +from math import log as scalar_log +from math import pi as scalar_pi # pylint: disable=no-name-in-module,no-member from pyrecest.backend import all as backend_all diff --git a/src/pyrecest/filters/discrete_state/__init__.py b/src/pyrecest/filters/discrete_state/__init__.py index 40d0c4714..c70efe33a 100644 --- a/src/pyrecest/filters/discrete_state/__init__.py +++ b/src/pyrecest/filters/discrete_state/__init__.py @@ -410,4 +410,4 @@ def sparse_gaussian_transition_matrix( ) for name in _module_globals["__all__"]: globals()[name] = _module_globals[name] -__all__ = _module_globals["__all__"] \ No newline at end of file +__all__ = _module_globals["__all__"] diff --git a/tests/distributions/test_ellipsoidal_ball_high_dimensional_volume.py b/tests/distributions/test_ellipsoidal_ball_high_dimensional_volume.py index 34648e63f..edf811dd8 100644 --- a/tests/distributions/test_ellipsoidal_ball_high_dimensional_volume.py +++ b/tests/distributions/test_ellipsoidal_ball_high_dimensional_volume.py @@ -17,9 +17,7 @@ def test_volume_and_pdf_remain_finite_after_gamma_overflow_threshold(self): ) with mpmath.workdps(80): - expected_volume = float( - mpmath.pi ** (dim / 2) / mpmath.gamma(dim / 2 + 1) - ) + expected_volume = float(mpmath.pi ** (dim / 2) / mpmath.gamma(dim / 2 + 1)) volume = dist.get_manifold_size() npt.assert_allclose(volume, expected_volume, rtol=1e-12, atol=0.0) diff --git a/tests/filters/test_discrete_state_probability_normalization_overflow.py b/tests/filters/test_discrete_state_probability_normalization_overflow.py index 7c37ba51e..c39cef5dc 100644 --- a/tests/filters/test_discrete_state_probability_normalization_overflow.py +++ b/tests/filters/test_discrete_state_probability_normalization_overflow.py @@ -1,5 +1,4 @@ import numpy as np - from pyrecest.filters.discrete_state import ( discrete_forward_backward, imm_forward_backward, diff --git a/tests/filters/test_ggiw_input_validation.py b/tests/filters/test_ggiw_input_validation.py index e5e89bb5b..06d8d5d12 100644 --- a/tests/filters/test_ggiw_input_validation.py +++ b/tests/filters/test_ggiw_input_validation.py @@ -1,10 +1,9 @@ import numpy as np -import pytest import pyrecest.backend +import pytest from pyrecest.backend import array, diag, eye from pyrecest.filters import GGIWTracker - pytestmark = pytest.mark.skipif( pyrecest.backend.__backend_name__ != "numpy", reason="GGIW validation regressions use the NumPy-backed tracker", diff --git a/tests/filters/test_mem_ekf_covariance_validation.py b/tests/filters/test_mem_ekf_covariance_validation.py index 15c30e535..9201e0dde 100644 --- a/tests/filters/test_mem_ekf_covariance_validation.py +++ b/tests/filters/test_mem_ekf_covariance_validation.py @@ -1,10 +1,9 @@ import numpy as np -import pytest import pyrecest.backend +import pytest from pyrecest.backend import array, diag, eye from pyrecest.filters import MEMEKFTracker, MEMQKFTracker - pytestmark = pytest.mark.skipif( pyrecest.backend.__backend_name__ != "numpy", reason="MEM covariance validation regressions use the NumPy-backed MEM trackers", @@ -99,6 +98,4 @@ def test_mem_qkf_inherits_measurement_noise_validation(): ) with pytest.raises(ValueError, match="meas_noise_cov"): - tracker.set_default_measurement_noise_cov( - array([[1.0, 2.0], [2.0, 1.0]]) - ) + tracker.set_default_measurement_noise_cov(array([[1.0, 2.0], [2.0, 1.0]])) diff --git a/tests/filters/test_mem_rbpf_covariance_validation.py b/tests/filters/test_mem_rbpf_covariance_validation.py index 8c620fbdd..fce490a4f 100644 --- a/tests/filters/test_mem_rbpf_covariance_validation.py +++ b/tests/filters/test_mem_rbpf_covariance_validation.py @@ -4,7 +4,6 @@ from pyrecest.backend import array, diag, eye from pyrecest.filters.mem_rbpf_tracker import MEMRBPFTracker - pytestmark = pytest.mark.skipif( backend.__backend_name__ == "jax", reason="MEMRBPFTracker is unsupported on JAX.", diff --git a/tests/filters/test_replay_grid_log_likelihood_validation.py b/tests/filters/test_replay_grid_log_likelihood_validation.py index fa3f46887..d6f037141 100644 --- a/tests/filters/test_replay_grid_log_likelihood_validation.py +++ b/tests/filters/test_replay_grid_log_likelihood_validation.py @@ -14,9 +14,7 @@ def test_rejects_nan_and_positive_infinity(self): for invalid_value in (np.nan, np.inf): log_likelihood = np.asarray([0.0, invalid_value]) with self.subTest(invalid_value=invalid_value, api="lookup"): - with self.assertRaisesRegex( - ValueError, "finite values or -np.inf" - ): + with self.assertRaisesRegex(ValueError, "finite values or -np.inf"): replay_grid_log_likelihood_values( positions, log_likelihood, @@ -24,9 +22,7 @@ def test_rejects_nan_and_positive_infinity(self): interpolation="nearest", ) with self.subTest(invalid_value=invalid_value, api="proposal"): - with self.assertRaisesRegex( - ValueError, "finite values or -np.inf" - ): + with self.assertRaisesRegex(ValueError, "finite values or -np.inf"): grid_proposal_weights(log_likelihood) def test_negative_infinity_remains_zero_likelihood(self): diff --git a/tests/filters/test_ukf_nonfinite_atomicity.py b/tests/filters/test_ukf_nonfinite_atomicity.py index 1d87c4b47..0c3b156fe 100644 --- a/tests/filters/test_ukf_nonfinite_atomicity.py +++ b/tests/filters/test_ukf_nonfinite_atomicity.py @@ -2,9 +2,8 @@ import numpy as np import numpy.testing as npt - from pyrecest.backend import array, zeros -from pyrecest.filters._ukf import _UKFModel, UnscentedKalmanFilter +from pyrecest.filters._ukf import UnscentedKalmanFilter, _UKFModel from pyrecest.sampling.sigma_points import MerweScaledSigmaPoints