Loading pysen/mathutil.py +6 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,12 @@ import numpy as np from scipy.spatial.transform import Rotation as R def round_err(val, err, digits=1): "round numbers to significant digits in err" digits = -int(np.floor(np.log10(abs(err))))+digits val = round(val, digits) err = round(err, digits) return val, err def polystr(coeff, variable='x', varsep=' '): "convert polynomial coefficients to a printable format" Loading pysen/revision.py +1 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ PySEN revision module """ import sys __version__ = "1.3" __release__ = "b2" __release__ = "b3" __date__ = "June 20, 2023" def version(full=False): Loading test/test_mathutil.py +21 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,27 @@ class MathUtilTestCase(unittest.TestCase): self.assertAlmostEqual(0.0, ave, 1) self.assertAlmostEqual(1.0, var, 1) def test_round_err(self): val, err = pmu.round_err(0.12345, 0.012) self.assertAlmostEqual(0.123, val, 3) self.assertAlmostEqual(0.012, err, 3) val, err = pmu.round_err(1.23456, 0.123) self.assertAlmostEqual(1.23, val, 3) self.assertAlmostEqual(0.12, err, 3) val, err = pmu.round_err(12.3456, 1.231) self.assertAlmostEqual(12.3, val, 3) self.assertAlmostEqual( 1.2, err, 3) val, err = pmu.round_err(12.5556, 1.251) self.assertAlmostEqual(12.6, val, 3) self.assertAlmostEqual( 1.3, err, 3) val, err = pmu.round_err(123456.0, 12345.0) self.assertAlmostEqual(123000.0, val, 3) self.assertAlmostEqual( 12000.0, err, 3) if __name__ == "__main__": unittest.main(exit=False, verbosity=2) Loading
pysen/mathutil.py +6 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,12 @@ import numpy as np from scipy.spatial.transform import Rotation as R def round_err(val, err, digits=1): "round numbers to significant digits in err" digits = -int(np.floor(np.log10(abs(err))))+digits val = round(val, digits) err = round(err, digits) return val, err def polystr(coeff, variable='x', varsep=' '): "convert polynomial coefficients to a printable format" Loading
pysen/revision.py +1 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ PySEN revision module """ import sys __version__ = "1.3" __release__ = "b2" __release__ = "b3" __date__ = "June 20, 2023" def version(full=False): Loading
test/test_mathutil.py +21 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,27 @@ class MathUtilTestCase(unittest.TestCase): self.assertAlmostEqual(0.0, ave, 1) self.assertAlmostEqual(1.0, var, 1) def test_round_err(self): val, err = pmu.round_err(0.12345, 0.012) self.assertAlmostEqual(0.123, val, 3) self.assertAlmostEqual(0.012, err, 3) val, err = pmu.round_err(1.23456, 0.123) self.assertAlmostEqual(1.23, val, 3) self.assertAlmostEqual(0.12, err, 3) val, err = pmu.round_err(12.3456, 1.231) self.assertAlmostEqual(12.3, val, 3) self.assertAlmostEqual( 1.2, err, 3) val, err = pmu.round_err(12.5556, 1.251) self.assertAlmostEqual(12.6, val, 3) self.assertAlmostEqual( 1.3, err, 3) val, err = pmu.round_err(123456.0, 12345.0) self.assertAlmostEqual(123000.0, val, 3) self.assertAlmostEqual( 12000.0, err, 3) if __name__ == "__main__": unittest.main(exit=False, verbosity=2)