diff --git a/pyproject.toml b/pyproject.toml index 10f97b9..9b22de5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,9 @@ classifiers = [ "Programming Language :: Python :: 3.12", ] description = "package to calibrate bimorph mirrors to focus a beamline to a target position" -dependencies = [] # Add project dependencies here, e.g. ["click", "numpy"] +dependencies = [ + "numpy", +] # Add project dependencies here, e.g. ["click", "numpy"] dynamic = ["version"] license.file = "LICENSE" readme = "README.md" @@ -47,7 +49,7 @@ version_file = "src/bimorph_mirror_analysis/_version.py" [tool.pyright] typeCheckingMode = "standard" -reportMissingImports = false # Ignore missing stubs in imported modules +reportMissingImports = false # Ignore missing stubs in imported modules [tool.pytest.ini_options] # Run pytest with all our checkers, and don't spam us with massive tracebacks on error diff --git a/src/bimorph_mirror_analysis/maths.py b/src/bimorph_mirror_analysis/maths.py new file mode 100644 index 0000000..7952dbc --- /dev/null +++ b/src/bimorph_mirror_analysis/maths.py @@ -0,0 +1,51 @@ +import numpy as np + + +def find_voltages( + data: np.ndarray, v: float, baseline_voltage_scan: int = 0 +) -> np.ndarray: + """Calculate voltage corrections to apply to bimorph. + + Given a matrix of beamline centroid data, with columns of beamline scans at + different actuator voltages and rows of slit positions, calculate the necessary + voltages corrections to achive the target centroid position. + + Args: + data: A matrix of beamline centroid data, with rows of different slit positions + and columns of pencil beam scans at different actuator voltages + v: The voltage increment applied to the actuators between pencil beam scans + baseline_voltage_scan: The pencil beam scan to use as the baseline for the + centroid calculation. 0 is the first scan, 1 is the second scan, etc. + -1 can be used for the last scan and -2 for the second to last scan etc. + + Returns: + An array of voltage corrections required to move the centroid of each pencil + beam scan to the target position. + """ + + if not isinstance(baseline_voltage_scan, int): + raise TypeError("baseline_voltage_scan must be an integer") + if baseline_voltage_scan < -data.shape[1] or baseline_voltage_scan >= data.shape[1]: + raise IndexError( + f"baseline_voltage_scan is out of range, it must be between\ + {-1*data.shape[1]} and {data.shape[1]-1}" + ) + + responses = np.diff( + data, axis=1 + ) # calculate the response of each actuator by subtracting previous pencil beam + + H = responses / v # response per unit charge + H = np.hstack((np.ones((H.shape[0], 1)), H)) # add columns of 1's to the left of H + H_inv = np.linalg.pinv(H) # calculate the Moore-Penrose pseudo inverse of H + + baseline_voltage_beamline_positions = data[:, baseline_voltage_scan] + + target = np.mean(baseline_voltage_beamline_positions) + Y = target - baseline_voltage_beamline_positions + + voltage_corrections = np.matmul( + H_inv, Y + ) # calculate the voltage required to move the centroid to the target position + + return voltage_corrections[1:] # return the voltages diff --git a/tests/data/16_actuator_data.txt b/tests/data/16_actuator_data.txt new file mode 100644 index 0000000..052f99a --- /dev/null +++ b/tests/data/16_actuator_data.txt @@ -0,0 +1,117 @@ +2.778000000000000114e+02,2.766100000000000136e+02,2.769100000000000250e+02,2.772799999999999727e+02,2.773999999999999773e+02,2.777099999999999795e+02,2.767599999999999909e+02,2.752300000000000182e+02,2.725600000000000023e+02,2.703999999999999773e+02,2.656000000000000227e+02,2.601600000000000250e+02,2.529799999999999898e+02,2.457500000000000000e+02,2.394600000000000080e+02,2.337899999999999920e+02,2.300500000000000114e+02 +2.726399999999999864e+02,2.708600000000000136e+02,2.716800000000000068e+02,2.719900000000000091e+02,2.721200000000000045e+02,2.722500000000000000e+02,2.711499999999999773e+02,2.699300000000000068e+02,2.671399999999999864e+02,2.649499999999999886e+02,2.602200000000000273e+02,2.546200000000000045e+02,2.475500000000000114e+02,2.400500000000000114e+02,2.338600000000000136e+02,2.284499999999999886e+02,2.250200000000000102e+02 +2.729900000000000091e+02,2.721600000000000250e+02,2.725099999999999909e+02,2.728299999999999841e+02,2.729499999999999886e+02,2.730500000000000114e+02,2.721700000000000159e+02,2.705199999999999818e+02,2.677799999999999727e+02,2.656999999999999886e+02,2.611000000000000227e+02,2.554399999999999977e+02,2.479099999999999966e+02,2.408899999999999864e+02,2.344799999999999898e+02,2.296899999999999977e+02,2.266699999999999875e+02 +2.754200000000000159e+02,2.742799999999999727e+02,2.750000000000000000e+02,2.751000000000000227e+02,2.751499999999999773e+02,2.752599999999999909e+02,2.743899999999999864e+02,2.727900000000000205e+02,2.701200000000000045e+02,2.678899999999999864e+02,2.633799999999999955e+02,2.575899999999999750e+02,2.504499999999999886e+02,2.435399999999999920e+02,2.368899999999999864e+02,2.317299999999999898e+02,2.303600000000000136e+02 +2.777799999999999727e+02,2.761600000000000250e+02,2.768999999999999773e+02,2.773399999999999750e+02,2.774399999999999977e+02,2.774100000000000250e+02,2.766399999999999864e+02,2.751200000000000045e+02,2.725199999999999818e+02,2.702099999999999795e+02,2.655400000000000205e+02,2.601499999999999773e+02,2.527199999999999989e+02,2.453499999999999943e+02,2.387800000000000011e+02,2.340500000000000114e+02,2.332100000000000080e+02 +2.771700000000000159e+02,2.753899999999999864e+02,2.761899999999999977e+02,2.765000000000000000e+02,2.765500000000000114e+02,2.768999999999999773e+02,2.757900000000000205e+02,2.743299999999999841e+02,2.717500000000000000e+02,2.697400000000000091e+02,2.648999999999999773e+02,2.591999999999999886e+02,2.521200000000000045e+02,2.444399999999999977e+02,2.384099999999999966e+02,2.336500000000000057e+02,2.329399999999999977e+02 +2.746000000000000227e+02,2.732599999999999909e+02,2.737699999999999818e+02,2.741700000000000159e+02,2.743999999999999773e+02,2.744800000000000182e+02,2.734900000000000091e+02,2.719800000000000182e+02,2.690699999999999932e+02,2.673999999999999773e+02,2.626100000000000136e+02,2.570299999999999727e+02,2.498700000000000045e+02,2.424300000000000068e+02,2.360999999999999943e+02,2.323000000000000114e+02,2.316599999999999966e+02 +2.710699999999999932e+02,2.693199999999999932e+02,2.699100000000000250e+02,2.705000000000000000e+02,2.705099999999999909e+02,2.706000000000000227e+02,2.698700000000000045e+02,2.682099999999999795e+02,2.658999999999999773e+02,2.635500000000000114e+02,2.590199999999999818e+02,2.530300000000000011e+02,2.459199999999999875e+02,2.391699999999999875e+02,2.336699999999999875e+02,2.291299999999999955e+02,2.291800000000000068e+02 +2.601299999999999955e+02,2.579100000000000250e+02,2.587400000000000091e+02,2.593999999999999773e+02,2.593000000000000114e+02,2.591999999999999886e+02,2.586299999999999955e+02,2.568199999999999932e+02,2.541699999999999875e+02,2.523199999999999932e+02,2.478199999999999932e+02,2.423600000000000136e+02,2.344099999999999966e+02,2.271299999999999955e+02,2.248700000000000045e+02,2.189199999999999875e+02,2.193199999999999932e+02 +2.584900000000000091e+02,2.572200000000000273e+02,2.576600000000000250e+02,2.579200000000000159e+02,2.581299999999999955e+02,2.581200000000000045e+02,2.572799999999999727e+02,2.559199999999999875e+02,2.529499999999999886e+02,2.512299999999999898e+02,2.464799999999999898e+02,2.405600000000000023e+02,2.335099999999999909e+02,2.267100000000000080e+02,2.259000000000000057e+02,2.194499999999999886e+02,2.190000000000000000e+02 +2.615099999999999909e+02,2.604700000000000273e+02,2.611600000000000250e+02,2.613799999999999955e+02,2.614300000000000068e+02,2.616200000000000045e+02,2.606000000000000227e+02,2.591800000000000068e+02,2.565699999999999932e+02,2.542899999999999920e+02,2.496800000000000068e+02,2.441599999999999966e+02,2.370500000000000114e+02,2.298300000000000125e+02,2.291500000000000057e+02,2.238499999999999943e+02,2.237599999999999909e+02 +2.645899999999999750e+02,2.632099999999999795e+02,2.640000000000000000e+02,2.642200000000000273e+02,2.641299999999999955e+02,2.641899999999999977e+02,2.636700000000000159e+02,2.619300000000000068e+02,2.595199999999999818e+02,2.573799999999999955e+02,2.528499999999999943e+02,2.471299999999999955e+02,2.402199999999999989e+02,2.330300000000000011e+02,2.303199999999999932e+02,2.270000000000000000e+02,2.269199999999999875e+02 +2.651499999999999773e+02,2.640899999999999750e+02,2.646999999999999886e+02,2.650000000000000000e+02,2.651399999999999864e+02,2.651899999999999977e+02,2.643799999999999955e+02,2.627300000000000182e+02,2.600299999999999727e+02,2.581200000000000045e+02,2.535600000000000023e+02,2.478199999999999932e+02,2.410099999999999909e+02,2.340099999999999909e+02,2.306500000000000057e+02,2.288400000000000034e+02,2.289399999999999977e+02 +2.666000000000000227e+02,2.656100000000000136e+02,2.660099999999999909e+02,2.663100000000000023e+02,2.665099999999999909e+02,2.665899999999999750e+02,2.657799999999999727e+02,2.640899999999999750e+02,2.615799999999999841e+02,2.594399999999999977e+02,2.548100000000000023e+02,2.491699999999999875e+02,2.423300000000000125e+02,2.353799999999999955e+02,2.320399999999999920e+02,2.309799999999999898e+02,2.311399999999999864e+02 +2.671700000000000159e+02,2.661299999999999955e+02,2.665299999999999727e+02,2.666899999999999977e+02,2.670099999999999909e+02,2.670099999999999909e+02,2.662200000000000273e+02,2.647900000000000205e+02,2.621399999999999864e+02,2.604499999999999886e+02,2.556500000000000057e+02,2.499399999999999977e+02,2.428199999999999932e+02,2.362599999999999909e+02,2.336299999999999955e+02,2.322899999999999920e+02,2.327199999999999989e+02 +2.656299999999999955e+02,2.642500000000000000e+02,2.644200000000000159e+02,2.650000000000000000e+02,2.649900000000000091e+02,2.649499999999999886e+02,2.641600000000000250e+02,2.628600000000000136e+02,2.601100000000000136e+02,2.583000000000000114e+02,2.535399999999999920e+02,2.478000000000000114e+02,2.408000000000000114e+02,2.350600000000000023e+02,2.323000000000000114e+02,2.314399999999999977e+02,2.311899999999999977e+02 +2.643999999999999773e+02,2.631100000000000136e+02,2.635400000000000205e+02,2.640699999999999932e+02,2.641999999999999886e+02,2.640699999999999932e+02,2.633600000000000136e+02,2.617400000000000091e+02,2.591299999999999955e+02,2.572200000000000273e+02,2.526599999999999966e+02,2.472500000000000000e+02,2.403100000000000023e+02,2.355200000000000102e+02,2.327700000000000102e+02,2.318400000000000034e+02,2.320399999999999920e+02 +2.657799999999999727e+02,2.650199999999999818e+02,2.653500000000000227e+02,2.657400000000000091e+02,2.657500000000000000e+02,2.658299999999999841e+02,2.649700000000000273e+02,2.633700000000000045e+02,2.606899999999999977e+02,2.589800000000000182e+02,2.540699999999999932e+02,2.485900000000000034e+02,2.418799999999999955e+02,2.378499999999999943e+02,2.346999999999999886e+02,2.342100000000000080e+02,2.345000000000000000e+02 +2.665099999999999909e+02,2.652599999999999909e+02,2.661800000000000068e+02,2.662099999999999795e+02,2.662599999999999909e+02,2.663500000000000227e+02,2.655099999999999909e+02,2.638299999999999841e+02,2.614300000000000068e+02,2.594900000000000091e+02,2.550600000000000023e+02,2.493400000000000034e+02,2.423000000000000114e+02,2.386100000000000136e+02,2.365800000000000125e+02,2.356699999999999875e+02,2.358700000000000045e+02 +2.667099999999999795e+02,2.649800000000000182e+02,2.655400000000000205e+02,2.656999999999999886e+02,2.659800000000000182e+02,2.661499999999999773e+02,2.653000000000000114e+02,2.636899999999999977e+02,2.612400000000000091e+02,2.594700000000000273e+02,2.549300000000000068e+02,2.492899999999999920e+02,2.428700000000000045e+02,2.388100000000000023e+02,2.372199999999999989e+02,2.363300000000000125e+02,2.370600000000000023e+02 +2.678500000000000227e+02,2.668700000000000045e+02,2.674599999999999795e+02,2.675799999999999841e+02,2.678299999999999841e+02,2.677599999999999909e+02,2.673299999999999841e+02,2.656299999999999955e+02,2.629300000000000068e+02,2.608600000000000136e+02,2.563299999999999841e+02,2.509699999999999989e+02,2.443000000000000114e+02,2.402700000000000102e+02,2.394300000000000068e+02,2.392199999999999989e+02,2.392199999999999989e+02 +2.697900000000000205e+02,2.684200000000000159e+02,2.687400000000000091e+02,2.691600000000000250e+02,2.694599999999999795e+02,2.693700000000000045e+02,2.688600000000000136e+02,2.670400000000000205e+02,2.646399999999999864e+02,2.625299999999999727e+02,2.579599999999999795e+02,2.526200000000000045e+02,2.464799999999999898e+02,2.423899999999999864e+02,2.426100000000000136e+02,2.413600000000000136e+02,2.416100000000000136e+02 +2.674300000000000068e+02,2.659499999999999886e+02,2.662699999999999818e+02,2.669200000000000159e+02,2.670899999999999750e+02,2.673600000000000136e+02,2.663100000000000023e+02,2.647300000000000182e+02,2.622099999999999795e+02,2.608199999999999932e+02,2.561100000000000136e+02,2.507199999999999989e+02,2.446599999999999966e+02,2.406100000000000136e+02,2.413000000000000114e+02,2.405600000000000023e+02,2.406500000000000057e+02 +2.618100000000000023e+02,2.604200000000000159e+02,2.611899999999999977e+02,2.615199999999999818e+02,2.615000000000000000e+02,2.615699999999999932e+02,2.606600000000000250e+02,2.594900000000000091e+02,2.569200000000000159e+02,2.562300000000000182e+02,2.507899999999999920e+02,2.448700000000000045e+02,2.404199999999999875e+02,2.364399999999999977e+02,2.363600000000000136e+02,2.360300000000000011e+02,2.358000000000000114e+02 +2.576399999999999864e+02,2.563500000000000227e+02,2.569499999999999886e+02,2.571399999999999864e+02,2.573000000000000114e+02,2.574900000000000091e+02,2.565899999999999750e+02,2.549799999999999898e+02,2.526899999999999977e+02,2.505500000000000114e+02,2.461299999999999955e+02,2.408499999999999943e+02,2.379399999999999977e+02,2.323799999999999955e+02,2.333600000000000136e+02,2.325300000000000011e+02,2.327700000000000102e+02 +2.554300000000000068e+02,2.542700000000000102e+02,2.546200000000000045e+02,2.550300000000000011e+02,2.553199999999999932e+02,2.551399999999999864e+02,2.546500000000000057e+02,2.532899999999999920e+02,2.505999999999999943e+02,2.486599999999999966e+02,2.441500000000000057e+02,2.390399999999999920e+02,2.361999999999999886e+02,2.318700000000000045e+02,2.320500000000000114e+02,2.310999999999999943e+02,2.319600000000000080e+02 +2.572799999999999727e+02,2.562500000000000000e+02,2.568999999999999773e+02,2.571100000000000136e+02,2.574200000000000159e+02,2.573799999999999955e+02,2.566100000000000136e+02,2.551500000000000057e+02,2.525099999999999909e+02,2.506699999999999875e+02,2.462800000000000011e+02,2.408100000000000023e+02,2.383000000000000114e+02,2.345600000000000023e+02,2.348899999999999864e+02,2.344300000000000068e+02,2.345999999999999943e+02 +2.569700000000000273e+02,2.559600000000000080e+02,2.564399999999999977e+02,2.567200000000000273e+02,2.569200000000000159e+02,2.571999999999999886e+02,2.562300000000000182e+02,2.545000000000000000e+02,2.518899999999999864e+02,2.500000000000000000e+02,2.457500000000000000e+02,2.403000000000000114e+02,2.369099999999999966e+02,2.346699999999999875e+02,2.348700000000000045e+02,2.343100000000000023e+02,2.345500000000000114e+02 +2.593100000000000023e+02,2.578600000000000136e+02,2.585299999999999727e+02,2.588999999999999773e+02,2.590699999999999932e+02,2.590899999999999750e+02,2.583999999999999773e+02,2.569300000000000068e+02,2.540399999999999920e+02,2.522199999999999989e+02,2.481399999999999864e+02,2.424699999999999989e+02,2.392899999999999920e+02,2.376599999999999966e+02,2.383199999999999932e+02,2.377299999999999898e+02,2.375000000000000000e+02 +2.590199999999999818e+02,2.577500000000000000e+02,2.582200000000000273e+02,2.583899999999999864e+02,2.587400000000000091e+02,2.589599999999999795e+02,2.579599999999999795e+02,2.566800000000000068e+02,2.541100000000000136e+02,2.522400000000000091e+02,2.478700000000000045e+02,2.428600000000000136e+02,2.393899999999999864e+02,2.389199999999999875e+02,2.384799999999999898e+02,2.385200000000000102e+02,2.384300000000000068e+02 +2.600099999999999909e+02,2.590199999999999818e+02,2.596299999999999955e+02,2.595899999999999750e+02,2.598000000000000114e+02,2.598799999999999955e+02,2.592400000000000091e+02,2.576100000000000136e+02,2.550000000000000000e+02,2.536599999999999966e+02,2.486100000000000136e+02,2.439699999999999989e+02,2.410000000000000000e+02,2.405699999999999932e+02,2.405099999999999909e+02,2.403000000000000114e+02,2.403799999999999955e+02 +2.609900000000000091e+02,2.601000000000000227e+02,2.603999999999999773e+02,2.605899999999999750e+02,2.607300000000000182e+02,2.608999999999999773e+02,2.600500000000000114e+02,2.583799999999999955e+02,2.561000000000000227e+02,2.540699999999999932e+02,2.495399999999999920e+02,2.453000000000000114e+02,2.421899999999999977e+02,2.417299999999999898e+02,2.422899999999999920e+02,2.418400000000000034e+02,2.416800000000000068e+02 +2.617500000000000000e+02,2.608299999999999841e+02,2.610600000000000023e+02,2.616499999999999773e+02,2.616399999999999864e+02,2.615500000000000114e+02,2.609499999999999886e+02,2.595299999999999727e+02,2.568000000000000114e+02,2.550699999999999932e+02,2.507800000000000011e+02,2.476299999999999955e+02,2.442299999999999898e+02,2.435300000000000011e+02,2.440399999999999920e+02,2.436800000000000068e+02,2.438600000000000136e+02 +2.611100000000000136e+02,2.602599999999999909e+02,2.608700000000000045e+02,2.610299999999999727e+02,2.611000000000000227e+02,2.613199999999999932e+02,2.602599999999999909e+02,2.591000000000000227e+02,2.564900000000000091e+02,2.547599999999999909e+02,2.503300000000000125e+02,2.480000000000000000e+02,2.444099999999999966e+02,2.445200000000000102e+02,2.441399999999999864e+02,2.437500000000000000e+02,2.440399999999999920e+02 +2.593700000000000045e+02,2.582099999999999795e+02,2.590199999999999818e+02,2.588799999999999955e+02,2.592799999999999727e+02,2.590000000000000000e+02,2.582500000000000000e+02,2.570600000000000023e+02,2.542500000000000000e+02,2.529799999999999898e+02,2.484300000000000068e+02,2.462899999999999920e+02,2.441399999999999864e+02,2.434099999999999966e+02,2.434199999999999875e+02,2.430699999999999932e+02,2.431200000000000045e+02 +2.570000000000000000e+02,2.560000000000000000e+02,2.564399999999999977e+02,2.568100000000000023e+02,2.565500000000000114e+02,2.570600000000000023e+02,2.562400000000000091e+02,2.550200000000000102e+02,2.525699999999999932e+02,2.508600000000000136e+02,2.461800000000000068e+02,2.443700000000000045e+02,2.422800000000000011e+02,2.423000000000000114e+02,2.421599999999999966e+02,2.416100000000000136e+02,2.420699999999999932e+02 +2.534600000000000080e+02,2.519000000000000057e+02,2.525500000000000114e+02,2.526399999999999864e+02,2.530900000000000034e+02,2.534199999999999875e+02,2.525200000000000102e+02,2.510800000000000125e+02,2.484799999999999898e+02,2.466699999999999875e+02,2.425399999999999920e+02,2.407299999999999898e+02,2.395999999999999943e+02,2.389799999999999898e+02,2.392899999999999920e+02,2.390699999999999932e+02,2.390000000000000000e+02 +2.509600000000000080e+02,2.498300000000000125e+02,2.506800000000000068e+02,2.510600000000000023e+02,2.510000000000000000e+02,2.512100000000000080e+02,2.501599999999999966e+02,2.489699999999999989e+02,2.465200000000000102e+02,2.451800000000000068e+02,2.402400000000000091e+02,2.385699999999999932e+02,2.379300000000000068e+02,2.381699999999999875e+02,2.379799999999999898e+02,2.375699999999999932e+02,2.377899999999999920e+02 +2.484600000000000080e+02,2.468000000000000114e+02,2.473899999999999864e+02,2.483700000000000045e+02,2.481299999999999955e+02,2.483300000000000125e+02,2.474900000000000091e+02,2.458100000000000023e+02,2.435200000000000102e+02,2.420399999999999920e+02,2.375800000000000125e+02,2.362400000000000091e+02,2.359699999999999989e+02,2.361500000000000057e+02,2.360500000000000114e+02,2.355699999999999932e+02,2.356800000000000068e+02 +2.435999999999999943e+02,2.426299999999999955e+02,2.432299999999999898e+02,2.430699999999999932e+02,2.432299999999999898e+02,2.432700000000000102e+02,2.428600000000000136e+02,2.415500000000000114e+02,2.390500000000000114e+02,2.374000000000000057e+02,2.343799999999999955e+02,2.321800000000000068e+02,2.321800000000000068e+02,2.323700000000000045e+02,2.320900000000000034e+02,2.316200000000000045e+02,2.314499999999999886e+02 +2.415300000000000011e+02,2.397400000000000091e+02,2.403000000000000114e+02,2.405600000000000023e+02,2.405699999999999932e+02,2.412199999999999989e+02,2.401200000000000045e+02,2.388100000000000023e+02,2.362800000000000011e+02,2.346599999999999966e+02,2.339600000000000080e+02,2.306899999999999977e+02,2.306699999999999875e+02,2.304300000000000068e+02,2.307299999999999898e+02,2.305500000000000114e+02,2.303000000000000114e+02 +2.422800000000000011e+02,2.414600000000000080e+02,2.421100000000000136e+02,2.426200000000000045e+02,2.423000000000000114e+02,2.424499999999999886e+02,2.414799999999999898e+02,2.402199999999999989e+02,2.377800000000000011e+02,2.359600000000000080e+02,2.373400000000000034e+02,2.330699999999999932e+02,2.327500000000000000e+02,2.334000000000000057e+02,2.324600000000000080e+02,2.328899999999999864e+02,2.323600000000000136e+02 +2.432700000000000102e+02,2.423499999999999943e+02,2.431699999999999875e+02,2.435300000000000011e+02,2.433899999999999864e+02,2.435900000000000034e+02,2.428899999999999864e+02,2.414199999999999875e+02,2.390999999999999943e+02,2.374300000000000068e+02,2.382400000000000091e+02,2.352299999999999898e+02,2.353499999999999943e+02,2.348700000000000045e+02,2.347700000000000102e+02,2.346800000000000068e+02,2.343100000000000023e+02 +2.445900000000000034e+02,2.440900000000000034e+02,2.443600000000000136e+02,2.446500000000000057e+02,2.449699999999999989e+02,2.449399999999999977e+02,2.441699999999999875e+02,2.431100000000000136e+02,2.404300000000000068e+02,2.383199999999999932e+02,2.381999999999999886e+02,2.373199999999999932e+02,2.371100000000000136e+02,2.365600000000000023e+02,2.366699999999999875e+02,2.364600000000000080e+02,2.363300000000000125e+02 +2.459300000000000068e+02,2.450200000000000102e+02,2.457100000000000080e+02,2.457299999999999898e+02,2.457500000000000000e+02,2.460800000000000125e+02,2.453499999999999943e+02,2.443700000000000045e+02,2.415699999999999932e+02,2.400200000000000102e+02,2.387800000000000011e+02,2.387199999999999989e+02,2.391699999999999875e+02,2.386999999999999886e+02,2.392100000000000080e+02,2.378700000000000045e+02,2.378499999999999943e+02 +2.459900000000000091e+02,2.455099999999999909e+02,2.455999999999999943e+02,2.459799999999999898e+02,2.460099999999999909e+02,2.461899999999999977e+02,2.456899999999999977e+02,2.441299999999999955e+02,2.418199999999999932e+02,2.402100000000000080e+02,2.385300000000000011e+02,2.397199999999999989e+02,2.397100000000000080e+02,2.395600000000000023e+02,2.396899999999999977e+02,2.389000000000000057e+02,2.388899999999999864e+02 +2.475699999999999932e+02,2.467700000000000102e+02,2.471800000000000068e+02,2.472800000000000011e+02,2.476999999999999886e+02,2.478199999999999932e+02,2.473199999999999932e+02,2.455099999999999909e+02,2.432899999999999920e+02,2.422299999999999898e+02,2.410000000000000000e+02,2.417800000000000011e+02,2.421100000000000136e+02,2.420500000000000114e+02,2.419099999999999966e+02,2.413499999999999943e+02,2.413400000000000034e+02 +2.489000000000000057e+02,2.479099999999999966e+02,2.486599999999999966e+02,2.486399999999999864e+02,2.490399999999999920e+02,2.490000000000000000e+02,2.482700000000000102e+02,2.466800000000000068e+02,2.444199999999999875e+02,2.443799999999999955e+02,2.427899999999999920e+02,2.437700000000000102e+02,2.442899999999999920e+02,2.439499999999999886e+02,2.437500000000000000e+02,2.432299999999999898e+02,2.433199999999999932e+02 +2.487400000000000091e+02,2.477199999999999989e+02,2.481800000000000068e+02,2.483100000000000023e+02,2.487500000000000000e+02,2.488100000000000023e+02,2.483799999999999955e+02,2.468499999999999943e+02,2.442899999999999920e+02,2.452100000000000080e+02,2.438499999999999943e+02,2.448899999999999864e+02,2.447599999999999909e+02,2.445399999999999920e+02,2.441299999999999955e+02,2.439699999999999989e+02,2.436200000000000045e+02 +2.479900000000000091e+02,2.471299999999999955e+02,2.475000000000000000e+02,2.478199999999999932e+02,2.478499999999999943e+02,2.476800000000000068e+02,2.474399999999999977e+02,2.458499999999999943e+02,2.432899999999999920e+02,2.450999999999999943e+02,2.434600000000000080e+02,2.447700000000000102e+02,2.445500000000000114e+02,2.446399999999999864e+02,2.441100000000000136e+02,2.436999999999999886e+02,2.436699999999999875e+02 +2.450600000000000023e+02,2.438300000000000125e+02,2.444600000000000080e+02,2.446200000000000045e+02,2.448199999999999932e+02,2.451399999999999864e+02,2.442100000000000080e+02,2.427599999999999909e+02,2.403100000000000023e+02,2.418199999999999932e+02,2.409300000000000068e+02,2.424099999999999966e+02,2.422800000000000011e+02,2.419699999999999989e+02,2.417899999999999920e+02,2.411899999999999977e+02,2.412100000000000080e+02 +2.442500000000000000e+02,2.431200000000000045e+02,2.436899999999999977e+02,2.438100000000000023e+02,2.447100000000000080e+02,2.444000000000000057e+02,2.434900000000000091e+02,2.419499999999999886e+02,2.398700000000000045e+02,2.405200000000000102e+02,2.407700000000000102e+02,2.417800000000000011e+02,2.415699999999999932e+02,2.415800000000000125e+02,2.413499999999999943e+02,2.408400000000000034e+02,2.410600000000000023e+02 +2.412400000000000091e+02,2.403000000000000114e+02,2.411200000000000045e+02,2.413300000000000125e+02,2.413799999999999955e+02,2.415600000000000023e+02,2.411299999999999955e+02,2.394499999999999886e+02,2.374099999999999966e+02,2.370300000000000011e+02,2.376399999999999864e+02,2.389099999999999966e+02,2.391299999999999955e+02,2.388600000000000136e+02,2.383799999999999955e+02,2.379399999999999977e+02,2.384199999999999875e+02 +2.371399999999999864e+02,2.361100000000000136e+02,2.374099999999999966e+02,2.370300000000000011e+02,2.372899999999999920e+02,2.373700000000000045e+02,2.369099999999999966e+02,2.355699999999999932e+02,2.338700000000000045e+02,2.325999999999999943e+02,2.343300000000000125e+02,2.354199999999999875e+02,2.355300000000000011e+02,2.354499999999999886e+02,2.346599999999999966e+02,2.346500000000000057e+02,2.348600000000000136e+02 +2.357500000000000000e+02,2.341200000000000045e+02,2.351599999999999966e+02,2.351599999999999966e+02,2.351800000000000068e+02,2.349499999999999886e+02,2.345900000000000034e+02,2.334000000000000057e+02,2.322500000000000000e+02,2.320200000000000102e+02,2.334399999999999977e+02,2.348799999999999955e+02,2.345500000000000114e+02,2.347500000000000000e+02,2.341100000000000136e+02,2.338700000000000045e+02,2.339099999999999966e+02 +2.328899999999999864e+02,2.320500000000000114e+02,2.325600000000000023e+02,2.326699999999999875e+02,2.326100000000000136e+02,2.333300000000000125e+02,2.319099999999999966e+02,2.310200000000000102e+02,2.315999999999999943e+02,2.305600000000000023e+02,2.332700000000000102e+02,2.345900000000000034e+02,2.339699999999999989e+02,2.340099999999999909e+02,2.339399999999999977e+02,2.338000000000000114e+02,2.339699999999999989e+02 +2.319799999999999898e+02,2.309199999999999875e+02,2.313700000000000045e+02,2.318899999999999864e+02,2.318300000000000125e+02,2.322299999999999898e+02,2.311999999999999886e+02,2.296699999999999875e+02,2.309799999999999898e+02,2.316800000000000068e+02,2.339699999999999989e+02,2.353499999999999943e+02,2.352199999999999989e+02,2.349699999999999989e+02,2.349600000000000080e+02,2.342500000000000000e+02,2.348700000000000045e+02 +2.343600000000000136e+02,2.336500000000000057e+02,2.341599999999999966e+02,2.345900000000000034e+02,2.344600000000000080e+02,2.345600000000000023e+02,2.340500000000000114e+02,2.324000000000000057e+02,2.340200000000000102e+02,2.354199999999999875e+02,2.376299999999999955e+02,2.390699999999999932e+02,2.391100000000000136e+02,2.389399999999999977e+02,2.383700000000000045e+02,2.381800000000000068e+02,2.387299999999999898e+02 +2.398300000000000125e+02,2.391899999999999977e+02,2.393499999999999943e+02,2.398700000000000045e+02,2.398600000000000136e+02,2.397500000000000000e+02,2.392199999999999989e+02,2.378700000000000045e+02,2.393400000000000034e+02,2.413899999999999864e+02,2.432100000000000080e+02,2.448600000000000136e+02,2.449399999999999977e+02,2.449000000000000057e+02,2.442500000000000000e+02,2.440200000000000102e+02,2.442899999999999920e+02 +2.454600000000000080e+02,2.446100000000000136e+02,2.449499999999999886e+02,2.453199999999999932e+02,2.451999999999999886e+02,2.453100000000000023e+02,2.446200000000000045e+02,2.429199999999999875e+02,2.443000000000000114e+02,2.463700000000000045e+02,2.486299999999999955e+02,2.499199999999999875e+02,2.497100000000000080e+02,2.498400000000000034e+02,2.493199999999999932e+02,2.492899999999999920e+02,2.498000000000000114e+02 +2.440399999999999920e+02,2.430000000000000000e+02,2.439399999999999977e+02,2.438199999999999932e+02,2.435399999999999920e+02,2.439799999999999898e+02,2.432599999999999909e+02,2.419099999999999966e+02,2.431100000000000136e+02,2.457899999999999920e+02,2.480600000000000023e+02,2.487199999999999989e+02,2.491599999999999966e+02,2.490900000000000034e+02,2.479900000000000091e+02,2.482599999999999909e+02,2.488100000000000023e+02 +2.376800000000000068e+02,2.366699999999999875e+02,2.375399999999999920e+02,2.380800000000000125e+02,2.375300000000000011e+02,2.377599999999999909e+02,2.374399999999999977e+02,2.362299999999999898e+02,2.371500000000000057e+02,2.398799999999999955e+02,2.425600000000000023e+02,2.434499999999999886e+02,2.433600000000000136e+02,2.434000000000000057e+02,2.428700000000000045e+02,2.422299999999999898e+02,2.430399999999999920e+02 +2.360699999999999932e+02,2.355500000000000114e+02,2.359099999999999966e+02,2.355600000000000023e+02,2.358700000000000045e+02,2.359300000000000068e+02,2.357599999999999909e+02,2.342400000000000091e+02,2.358799999999999955e+02,2.386899999999999977e+02,2.407700000000000102e+02,2.420600000000000023e+02,2.422899999999999920e+02,2.417800000000000011e+02,2.412100000000000080e+02,2.410399999999999920e+02,2.414399999999999977e+02 +2.357299999999999898e+02,2.347299999999999898e+02,2.350399999999999920e+02,2.351599999999999966e+02,2.354799999999999898e+02,2.356299999999999955e+02,2.345999999999999943e+02,2.354799999999999898e+02,2.366599999999999966e+02,2.393199999999999932e+02,2.412100000000000080e+02,2.423000000000000114e+02,2.424199999999999875e+02,2.420699999999999932e+02,2.413300000000000125e+02,2.415099999999999909e+02,2.421100000000000136e+02 +2.335900000000000034e+02,2.329000000000000057e+02,2.330399999999999920e+02,2.337199999999999989e+02,2.340999999999999943e+02,2.336100000000000136e+02,2.333899999999999864e+02,2.348000000000000114e+02,2.362199999999999989e+02,2.387800000000000011e+02,2.405500000000000114e+02,2.418400000000000034e+02,2.416500000000000057e+02,2.416399999999999864e+02,2.406899999999999977e+02,2.407599999999999909e+02,2.409000000000000057e+02 +2.308400000000000034e+02,2.299000000000000057e+02,2.301200000000000045e+02,2.301800000000000068e+02,2.306500000000000057e+02,2.308700000000000045e+02,2.302700000000000102e+02,2.325699999999999932e+02,2.344799999999999898e+02,2.362899999999999920e+02,2.383700000000000045e+02,2.396200000000000045e+02,2.394900000000000091e+02,2.395500000000000114e+02,2.387199999999999989e+02,2.388000000000000114e+02,2.388000000000000114e+02 +2.284199999999999875e+02,2.270399999999999920e+02,2.276299999999999955e+02,2.278300000000000125e+02,2.275200000000000102e+02,2.284799999999999898e+02,2.274199999999999875e+02,2.303499999999999943e+02,2.323600000000000136e+02,2.354199999999999875e+02,2.370999999999999943e+02,2.379399999999999977e+02,2.383700000000000045e+02,2.377199999999999989e+02,2.374000000000000057e+02,2.372500000000000000e+02,2.374399999999999977e+02 +2.273600000000000136e+02,2.265699999999999932e+02,2.269699999999999989e+02,2.270099999999999909e+02,2.275300000000000011e+02,2.275999999999999943e+02,2.270399999999999920e+02,2.293199999999999932e+02,2.330099999999999909e+02,2.355000000000000000e+02,2.369900000000000091e+02,2.380200000000000102e+02,2.383400000000000034e+02,2.381699999999999875e+02,2.368199999999999932e+02,2.376800000000000068e+02,2.376100000000000136e+02 +2.274300000000000068e+02,2.264600000000000080e+02,2.274699999999999989e+02,2.278499999999999943e+02,2.275500000000000114e+02,2.276299999999999955e+02,2.270699999999999932e+02,2.295999999999999943e+02,2.337100000000000080e+02,2.360200000000000102e+02,2.381299999999999955e+02,2.390999999999999943e+02,2.389900000000000091e+02,2.388100000000000023e+02,2.381299999999999955e+02,2.384499999999999886e+02,2.388199999999999932e+02 +2.279699999999999989e+02,2.270200000000000102e+02,2.274699999999999989e+02,2.281299999999999955e+02,2.276599999999999966e+02,2.279499999999999886e+02,2.276699999999999875e+02,2.305000000000000000e+02,2.351299999999999955e+02,2.373000000000000114e+02,2.394499999999999886e+02,2.408300000000000125e+02,2.403700000000000045e+02,2.404399999999999977e+02,2.397199999999999989e+02,2.403300000000000125e+02,2.397899999999999920e+02 +2.271599999999999966e+02,2.261100000000000136e+02,2.267400000000000091e+02,2.269000000000000057e+02,2.269600000000000080e+02,2.276299999999999955e+02,2.266200000000000045e+02,2.296100000000000136e+02,2.348199999999999932e+02,2.378100000000000023e+02,2.392800000000000011e+02,2.406100000000000136e+02,2.406200000000000045e+02,2.404300000000000068e+02,2.396899999999999977e+02,2.397800000000000011e+02,2.401100000000000136e+02 +2.249000000000000057e+02,2.238100000000000023e+02,2.240900000000000034e+02,2.244699999999999989e+02,2.245999999999999943e+02,2.253799999999999955e+02,2.250300000000000011e+02,2.278000000000000114e+02,2.332199999999999989e+02,2.358700000000000045e+02,2.377800000000000011e+02,2.386399999999999864e+02,2.386599999999999966e+02,2.389099999999999966e+02,2.378499999999999943e+02,2.379900000000000091e+02,2.384300000000000068e+02 +2.201599999999999966e+02,2.181599999999999966e+02,2.195099999999999909e+02,2.190999999999999943e+02,2.188799999999999955e+02,2.190000000000000000e+02,2.225200000000000102e+02,2.234300000000000068e+02,2.280200000000000102e+02,2.310999999999999943e+02,2.330600000000000023e+02,2.341599999999999966e+02,2.344199999999999875e+02,2.338799999999999955e+02,2.334399999999999977e+02,2.338199999999999932e+02,2.333400000000000034e+02 +2.110500000000000114e+02,2.103100000000000023e+02,2.108300000000000125e+02,2.108100000000000023e+02,2.107299999999999898e+02,2.112899999999999920e+02,2.175800000000000125e+02,2.158000000000000114e+02,2.203499999999999943e+02,2.232400000000000091e+02,2.253700000000000045e+02,2.262899999999999920e+02,2.262100000000000080e+02,2.259099999999999966e+02,2.246800000000000068e+02,2.255099999999999909e+02,2.256200000000000045e+02 +2.065800000000000125e+02,2.052800000000000011e+02,2.058799999999999955e+02,2.064399999999999977e+02,2.061800000000000068e+02,2.063499999999999943e+02,2.131899999999999977e+02,2.125900000000000034e+02,2.172299999999999898e+02,2.195000000000000000e+02,2.211399999999999864e+02,2.223199999999999932e+02,2.225999999999999943e+02,2.222599999999999909e+02,2.213199999999999932e+02,2.216299999999999955e+02,2.279900000000000091e+02 +2.049499999999999886e+02,2.038700000000000045e+02,2.045399999999999920e+02,2.045699999999999932e+02,2.051599999999999966e+02,2.045300000000000011e+02,2.096599999999999966e+02,2.126200000000000045e+02,2.181299999999999955e+02,2.203000000000000114e+02,2.218499999999999943e+02,2.231999999999999886e+02,2.229799999999999898e+02,2.229000000000000057e+02,2.218199999999999932e+02,2.220300000000000011e+02,2.220300000000000011e+02 +2.056699999999999875e+02,2.051699999999999875e+02,2.054300000000000068e+02,2.062700000000000102e+02,2.057599999999999909e+02,2.056899999999999977e+02,2.091500000000000057e+02,2.141999999999999886e+02,2.191399999999999864e+02,2.212899999999999920e+02,2.233499999999999943e+02,2.250399999999999920e+02,2.245800000000000125e+02,2.242599999999999909e+02,2.236500000000000057e+02,2.240500000000000114e+02,2.236899999999999977e+02 +2.083499999999999943e+02,2.079600000000000080e+02,2.086399999999999864e+02,2.086599999999999966e+02,2.085099999999999909e+02,2.089699999999999989e+02,2.118600000000000136e+02,2.176599999999999966e+02,2.226500000000000057e+02,2.249000000000000057e+02,2.270399999999999920e+02,2.280399999999999920e+02,2.280399999999999920e+02,2.275099999999999909e+02,2.268400000000000034e+02,2.272100000000000080e+02,2.271500000000000057e+02 +2.116500000000000057e+02,2.103899999999999864e+02,2.110900000000000034e+02,2.114499999999999886e+02,2.114699999999999989e+02,2.130699999999999932e+02,2.154900000000000091e+02,2.211999999999999886e+02,2.264300000000000068e+02,2.286999999999999886e+02,2.309600000000000080e+02,2.319000000000000057e+02,2.316999999999999886e+02,2.317599999999999909e+02,2.306500000000000057e+02,2.312800000000000011e+02,2.310900000000000034e+02 +2.155699999999999932e+02,2.155699999999999932e+02,2.163600000000000136e+02,2.158799999999999955e+02,2.157299999999999898e+02,2.173000000000000114e+02,2.204900000000000091e+02,2.267100000000000080e+02,2.319499999999999886e+02,2.339199999999999875e+02,2.358199999999999932e+02,2.368199999999999932e+02,2.369399999999999977e+02,2.367199999999999989e+02,2.360300000000000011e+02,2.363000000000000114e+02,2.362899999999999920e+02 +2.179099999999999966e+02,2.171500000000000057e+02,2.172199999999999989e+02,2.177800000000000011e+02,2.181999999999999886e+02,2.203600000000000136e+02,2.234499999999999886e+02,2.294300000000000068e+02,2.344900000000000091e+02,2.366999999999999886e+02,2.390999999999999943e+02,2.397299999999999898e+02,2.396299999999999955e+02,2.396899999999999977e+02,2.389499999999999886e+02,2.390000000000000000e+02,2.390800000000000125e+02 +2.182500000000000000e+02,2.176999999999999886e+02,2.182400000000000091e+02,2.188300000000000125e+02,2.191899999999999977e+02,2.218000000000000114e+02,2.254399999999999977e+02,2.312500000000000000e+02,2.361800000000000068e+02,2.386299999999999955e+02,2.407100000000000080e+02,2.414399999999999977e+02,2.418100000000000023e+02,2.412400000000000091e+02,2.406200000000000045e+02,2.412199999999999989e+02,2.412299999999999898e+02 +2.196299999999999955e+02,2.188199999999999932e+02,2.193100000000000023e+02,2.198899999999999864e+02,2.195300000000000011e+02,2.240399999999999920e+02,2.269600000000000080e+02,2.328600000000000136e+02,2.385800000000000125e+02,2.408600000000000136e+02,2.426399999999999864e+02,2.433700000000000045e+02,2.435699999999999932e+02,2.437899999999999920e+02,2.421299999999999955e+02,2.432299999999999898e+02,2.435600000000000023e+02 +2.171200000000000045e+02,2.165399999999999920e+02,2.173100000000000023e+02,2.169399999999999977e+02,2.179199999999999875e+02,2.211500000000000057e+02,2.255699999999999932e+02,2.318799999999999955e+02,2.364699999999999989e+02,2.390699999999999932e+02,2.414300000000000068e+02,2.418700000000000045e+02,2.420500000000000114e+02,2.420200000000000102e+02,2.410200000000000102e+02,2.410999999999999943e+02,2.415200000000000102e+02 +2.133199999999999932e+02,2.127100000000000080e+02,2.129900000000000091e+02,2.136699999999999875e+02,2.141200000000000045e+02,2.173000000000000114e+02,2.225999999999999943e+02,2.287199999999999989e+02,2.340900000000000034e+02,2.365099999999999909e+02,2.384699999999999989e+02,2.396699999999999875e+02,2.394900000000000091e+02,2.388799999999999955e+02,2.379000000000000057e+02,2.387299999999999898e+02,2.390200000000000102e+02 +2.081999999999999886e+02,2.080099999999999909e+02,2.078300000000000125e+02,2.083499999999999943e+02,2.084300000000000068e+02,2.123199999999999932e+02,2.184099999999999966e+02,2.245200000000000102e+02,2.294300000000000068e+02,2.319600000000000080e+02,2.336399999999999864e+02,2.346999999999999886e+02,2.349499999999999886e+02,2.343799999999999955e+02,2.334000000000000057e+02,2.342400000000000091e+02,2.342400000000000091e+02 +2.061599999999999966e+02,2.042700000000000102e+02,2.052700000000000102e+02,2.059099999999999966e+02,2.073300000000000125e+02,2.100500000000000114e+02,2.166699999999999875e+02,2.223799999999999955e+02,2.274099999999999966e+02,2.298899999999999864e+02,2.319199999999999875e+02,2.329699999999999989e+02,2.334399999999999977e+02,2.327899999999999920e+02,2.319499999999999886e+02,2.326800000000000068e+02,2.327400000000000091e+02 +2.062299999999999898e+02,2.053199999999999932e+02,2.060200000000000102e+02,2.064699999999999989e+02,2.078100000000000023e+02,2.115300000000000011e+02,2.186599999999999966e+02,2.239399999999999977e+02,2.287800000000000011e+02,2.317599999999999909e+02,2.332800000000000011e+02,2.343400000000000034e+02,2.346800000000000068e+02,2.339699999999999989e+02,2.333899999999999864e+02,2.337199999999999989e+02,2.338100000000000023e+02 +2.065800000000000125e+02,2.059499999999999886e+02,2.069799999999999898e+02,2.067299999999999898e+02,2.094699999999999989e+02,2.130399999999999920e+02,2.192199999999999989e+02,2.258899999999999864e+02,2.303199999999999932e+02,2.324600000000000080e+02,2.348899999999999864e+02,2.354199999999999875e+02,2.360200000000000102e+02,2.355200000000000102e+02,2.344099999999999966e+02,2.353700000000000045e+02,2.355099999999999909e+02 +2.091200000000000045e+02,2.090399999999999920e+02,2.093100000000000023e+02,2.090000000000000000e+02,2.132599999999999909e+02,2.167400000000000091e+02,2.226299999999999955e+02,2.282400000000000091e+02,2.335600000000000023e+02,2.357100000000000080e+02,2.378000000000000114e+02,2.388600000000000136e+02,2.393799999999999955e+02,2.390099999999999909e+02,2.380099999999999909e+02,2.383899999999999864e+02,2.389399999999999977e+02 +2.093300000000000125e+02,2.093199999999999932e+02,2.097700000000000102e+02,2.100999999999999943e+02,2.148400000000000034e+02,2.172100000000000080e+02,2.240000000000000000e+02,2.298199999999999932e+02,2.350600000000000023e+02,2.376200000000000045e+02,2.393600000000000136e+02,2.402299999999999898e+02,2.403300000000000125e+02,2.396800000000000068e+02,2.391599999999999966e+02,2.394799999999999898e+02,2.400200000000000102e+02 +2.093799999999999955e+02,2.092800000000000011e+02,2.094000000000000057e+02,2.096399999999999864e+02,2.133400000000000034e+02,2.174199999999999875e+02,2.240099999999999909e+02,2.293400000000000034e+02,2.346399999999999864e+02,2.372899999999999920e+02,2.394300000000000068e+02,2.398499999999999943e+02,2.400200000000000102e+02,2.396399999999999864e+02,2.383799999999999955e+02,2.392100000000000080e+02,2.400399999999999920e+02 +2.082400000000000091e+02,2.074600000000000080e+02,2.092199999999999989e+02,2.082199999999999989e+02,2.119600000000000080e+02,2.166100000000000136e+02,2.233100000000000023e+02,2.287299999999999898e+02,2.340099999999999909e+02,2.361500000000000057e+02,2.381500000000000057e+02,2.393300000000000125e+02,2.392299999999999898e+02,2.385999999999999943e+02,2.378600000000000136e+02,2.385999999999999943e+02,2.390000000000000000e+02 +2.065399999999999920e+02,2.052500000000000000e+02,2.066399999999999864e+02,2.056500000000000057e+02,2.101800000000000068e+02,2.161100000000000136e+02,2.222199999999999989e+02,2.274600000000000080e+02,2.326299999999999955e+02,2.352500000000000000e+02,2.367299999999999898e+02,2.376399999999999864e+02,2.376399999999999864e+02,2.374699999999999989e+02,2.365000000000000000e+02,2.372599999999999909e+02,2.375699999999999932e+02 +2.037599999999999909e+02,2.034399999999999977e+02,2.033700000000000045e+02,2.041999999999999886e+02,2.078799999999999955e+02,2.144900000000000091e+02,2.202500000000000000e+02,2.249699999999999989e+02,2.304600000000000080e+02,2.326599999999999966e+02,2.345999999999999943e+02,2.357700000000000102e+02,2.359399999999999977e+02,2.354900000000000091e+02,2.346399999999999864e+02,2.351100000000000136e+02,2.354099999999999966e+02 +2.005999999999999943e+02,2.005999999999999943e+02,2.002599999999999909e+02,2.017700000000000102e+02,2.054199999999999875e+02,2.112100000000000080e+02,2.183499999999999943e+02,2.234900000000000091e+02,2.279499999999999886e+02,2.304199999999999875e+02,2.320800000000000125e+02,2.333199999999999932e+02,2.334799999999999898e+02,2.331599999999999966e+02,2.319499999999999886e+02,2.324499999999999886e+02,2.330099999999999909e+02 +2.015999999999999943e+02,2.017700000000000102e+02,2.015200000000000102e+02,2.030000000000000000e+02,2.069799999999999898e+02,2.132700000000000102e+02,2.197400000000000091e+02,2.251699999999999875e+02,2.295999999999999943e+02,2.319600000000000080e+02,2.338499999999999943e+02,2.344099999999999966e+02,2.347899999999999920e+02,2.345300000000000011e+02,2.336399999999999864e+02,2.338600000000000136e+02,2.343799999999999955e+02 +2.044799999999999898e+02,2.038300000000000125e+02,2.040099999999999909e+02,2.068700000000000045e+02,2.102199999999999989e+02,2.170099999999999909e+02,2.234799999999999898e+02,2.281399999999999864e+02,2.326899999999999977e+02,2.347599999999999909e+02,2.369699999999999989e+02,2.380399999999999920e+02,2.381200000000000045e+02,2.374600000000000080e+02,2.363799999999999955e+02,2.370500000000000114e+02,2.372899999999999920e+02 +2.029699999999999989e+02,2.021100000000000136e+02,2.032800000000000011e+02,2.064699999999999989e+02,2.089699999999999989e+02,2.162400000000000091e+02,2.223400000000000034e+02,2.275800000000000125e+02,2.315699999999999932e+02,2.340699999999999932e+02,2.359600000000000080e+02,2.368100000000000023e+02,2.370900000000000034e+02,2.366100000000000136e+02,2.353400000000000034e+02,2.359699999999999989e+02,2.366100000000000136e+02 +2.019499999999999886e+02,2.010800000000000125e+02,2.009300000000000068e+02,2.049000000000000057e+02,2.077299999999999898e+02,2.149799999999999898e+02,2.204399999999999977e+02,2.258400000000000034e+02,2.299399999999999977e+02,2.326100000000000136e+02,2.343199999999999932e+02,2.352599999999999909e+02,2.350699999999999932e+02,2.352100000000000080e+02,2.337500000000000000e+02,2.346100000000000136e+02,2.348899999999999864e+02 +2.038400000000000034e+02,2.029600000000000080e+02,2.032899999999999920e+02,2.065399999999999920e+02,2.107199999999999989e+02,2.170099999999999909e+02,2.220600000000000023e+02,2.267199999999999989e+02,2.313600000000000136e+02,2.335399999999999920e+02,2.356399999999999864e+02,2.361500000000000057e+02,2.364799999999999898e+02,2.360800000000000125e+02,2.351999999999999886e+02,2.351800000000000068e+02,2.359099999999999966e+02 +2.024000000000000057e+02,2.010500000000000114e+02,2.024900000000000091e+02,2.044199999999999875e+02,2.102899999999999920e+02,2.160000000000000000e+02,2.223799999999999955e+02,2.268100000000000023e+02,2.309199999999999875e+02,2.327299999999999898e+02,2.348199999999999932e+02,2.357800000000000011e+02,2.358300000000000125e+02,2.354099999999999966e+02,2.340300000000000011e+02,2.351500000000000057e+02,2.350800000000000125e+02 +2.076100000000000136e+02,2.072199999999999989e+02,2.082100000000000080e+02,2.114499999999999886e+02,2.167700000000000102e+02,2.221200000000000045e+02,2.277700000000000102e+02,2.326200000000000045e+02,2.366899999999999977e+02,2.386500000000000057e+02,2.400399999999999920e+02,2.413899999999999864e+02,2.410399999999999920e+02,2.409699999999999989e+02,2.400399999999999920e+02,2.402800000000000011e+02,2.409099999999999966e+02 +2.166699999999999875e+02,2.168100000000000023e+02,2.173600000000000136e+02,2.216599999999999966e+02,2.260000000000000000e+02,2.321599999999999966e+02,2.372100000000000080e+02,2.421200000000000045e+02,2.457899999999999920e+02,2.477899999999999920e+02,2.499399999999999977e+02,2.505999999999999943e+02,2.506999999999999886e+02,2.504399999999999977e+02,2.494499999999999886e+02,2.498300000000000125e+02,2.503600000000000136e+02 +2.232599999999999909e+02,2.226699999999999875e+02,2.256599999999999966e+02,2.283300000000000125e+02,2.333799999999999955e+02,2.391200000000000045e+02,2.433400000000000034e+02,2.480900000000000034e+02,2.522100000000000080e+02,2.537899999999999920e+02,2.556899999999999977e+02,2.563000000000000114e+02,2.564100000000000250e+02,2.560600000000000023e+02,2.548799999999999955e+02,2.556200000000000045e+02,2.559799999999999898e+02 +2.253799999999999955e+02,2.251100000000000136e+02,2.290200000000000102e+02,2.300000000000000000e+02,2.357500000000000000e+02,2.410399999999999920e+02,2.455000000000000000e+02,2.499900000000000091e+02,2.536699999999999875e+02,2.553300000000000125e+02,2.571600000000000250e+02,2.577699999999999818e+02,2.577200000000000273e+02,2.575099999999999909e+02,2.565299999999999727e+02,2.573000000000000114e+02,2.577400000000000091e+02 +2.283700000000000045e+02,2.287599999999999909e+02,2.342800000000000011e+02,2.346899999999999977e+02,2.395500000000000114e+02,2.447599999999999909e+02,2.488799999999999955e+02,2.533400000000000034e+02,2.568899999999999864e+02,2.590899999999999750e+02,2.600799999999999841e+02,2.609700000000000273e+02,2.608199999999999932e+02,2.603299999999999841e+02,2.593299999999999841e+02,2.599900000000000091e+02,2.606600000000000250e+02 +2.224900000000000091e+02,2.218000000000000114e+02,2.260300000000000011e+02,2.278400000000000034e+02,2.317500000000000000e+02,2.375500000000000114e+02,2.413400000000000034e+02,2.462199999999999989e+02,2.499000000000000057e+02,2.507800000000000011e+02,2.521699999999999875e+02,2.529000000000000057e+02,2.526699999999999875e+02,2.520399999999999920e+02,2.515900000000000034e+02,2.519099999999999966e+02,2.529099999999999966e+02 +2.206100000000000136e+02,2.213000000000000114e+02,2.229799999999999898e+02,2.264799999999999898e+02,2.305500000000000114e+02,2.356699999999999875e+02,2.400699999999999932e+02,2.440099999999999909e+02,2.471999999999999886e+02,2.485399999999999920e+02,2.499099999999999966e+02,2.501100000000000136e+02,2.505000000000000000e+02,2.495999999999999943e+02,2.489000000000000057e+02,2.493600000000000136e+02,2.502400000000000091e+02 +2.226200000000000045e+02,2.240300000000000011e+02,2.260900000000000034e+02,2.298300000000000125e+02,2.338899999999999864e+02,2.391299999999999955e+02,2.428300000000000125e+02,2.464799999999999898e+02,2.495800000000000125e+02,2.509499999999999886e+02,2.520900000000000034e+02,2.526399999999999864e+02,2.530399999999999920e+02,2.524900000000000091e+02,2.514799999999999898e+02,2.532100000000000080e+02,2.525300000000000011e+02 +2.265699999999999932e+02,2.270300000000000011e+02,2.290600000000000023e+02,2.331500000000000057e+02,2.371800000000000068e+02,2.417700000000000102e+02,2.446699999999999875e+02,2.487400000000000091e+02,2.515399999999999920e+02,2.528100000000000023e+02,2.538600000000000136e+02,2.544300000000000068e+02,2.545000000000000000e+02,2.538300000000000125e+02,2.530399999999999920e+02,2.536100000000000136e+02,2.546800000000000068e+02 +2.271500000000000057e+02,2.271899999999999977e+02,2.302800000000000011e+02,2.329900000000000091e+02,2.366599999999999966e+02,2.411899999999999977e+02,2.441399999999999864e+02,2.477199999999999989e+02,2.502199999999999989e+02,2.516200000000000045e+02,2.529699999999999989e+02,2.530000000000000000e+02,2.533199999999999932e+02,2.528799999999999955e+02,2.518100000000000023e+02,2.524399999999999977e+02,2.533100000000000023e+02 +2.269900000000000091e+02,2.278300000000000125e+02,2.305399999999999920e+02,2.342800000000000011e+02,2.365099999999999909e+02,2.406800000000000068e+02,2.436899999999999977e+02,2.471200000000000045e+02,2.491999999999999886e+02,2.508100000000000023e+02,2.519000000000000057e+02,2.515699999999999932e+02,2.524300000000000068e+02,2.513700000000000045e+02,2.505800000000000125e+02,2.515200000000000102e+02,2.520200000000000102e+02 +2.293499999999999943e+02,2.308799999999999955e+02,2.330900000000000034e+02,2.369099999999999966e+02,2.387100000000000080e+02,2.427899999999999920e+02,2.447800000000000011e+02,2.482299999999999898e+02,2.511599999999999966e+02,2.516899999999999977e+02,2.530000000000000000e+02,2.529300000000000068e+02,2.535300000000000011e+02,2.528199999999999932e+02,2.519399999999999977e+02,2.523100000000000023e+02,2.532400000000000091e+02 +2.318499999999999943e+02,2.330800000000000125e+02,2.354399999999999977e+02,2.380200000000000102e+02,2.405099999999999909e+02,2.441800000000000068e+02,2.458700000000000045e+02,2.495600000000000023e+02,2.518499999999999943e+02,2.525200000000000102e+02,2.538100000000000023e+02,2.539399999999999977e+02,2.541699999999999875e+02,2.533600000000000136e+02,2.530200000000000102e+02,2.537299999999999898e+02,2.542400000000000091e+02 +2.356899999999999977e+02,2.379199999999999875e+02,2.397500000000000000e+02,2.419900000000000091e+02,2.441500000000000057e+02,2.477800000000000011e+02,2.493600000000000136e+02,2.527599999999999909e+02,2.541999999999999886e+02,2.553899999999999864e+02,2.565600000000000023e+02,2.559300000000000068e+02,2.564399999999999977e+02,2.560799999999999841e+02,2.551399999999999864e+02,2.566299999999999955e+02,2.569100000000000250e+02 +2.349099999999999966e+02,2.364600000000000080e+02,2.382800000000000011e+02,2.409799999999999898e+02,2.429600000000000080e+02,2.449199999999999875e+02,2.468499999999999943e+02,2.497700000000000102e+02,2.512899999999999920e+02,2.519399999999999977e+02,2.528600000000000136e+02,2.532599999999999909e+02,2.526899999999999977e+02,2.531899999999999977e+02,2.514499999999999886e+02,2.522299999999999898e+02,2.535399999999999920e+02 diff --git a/tests/data/16_actuator_output.txt b/tests/data/16_actuator_output.txt new file mode 100644 index 0000000..70d901d --- /dev/null +++ b/tests/data/16_actuator_output.txt @@ -0,0 +1,16 @@ +3.754035246300606445e+02 +3.173552610735841313e+02 +-8.871216249116981700e+00 +9.823656308341850263e+01 +1.240974691415672169e+02 +-1.921633058651442241e+02 +-1.580320457126290767e-01 +-6.235823640873921647e+01 +2.134018588040029556e+02 +-9.588821999790660300e+01 +4.260153919587435922e+01 +-6.367412313316757633e+01 +1.210759471343801295e+02 +-4.776920420905791786e+01 +1.272677250651050542e+02 +7.358411715637718942e+01 diff --git a/tests/data/8_actuator_data.txt b/tests/data/8_actuator_data.txt new file mode 100644 index 0000000..d712e5d --- /dev/null +++ b/tests/data/8_actuator_data.txt @@ -0,0 +1,154 @@ +1.756100000000000136e+02,1.752400000000000091e+02,1.755699999999999932e+02,1.773100000000000023e+02,1.789199999999999875e+02,1.801899999999999977e+02,1.849300000000000068e+02,1.916800000000000068e+02,1.974399999999999977e+02 +1.700200000000000102e+02,1.699900000000000091e+02,1.699499999999999886e+02,1.710999999999999943e+02,1.730600000000000023e+02,1.746800000000000068e+02,1.789000000000000057e+02,1.863700000000000045e+02,1.923100000000000023e+02 +1.704600000000000080e+02,1.704699999999999989e+02,1.702800000000000011e+02,1.702100000000000080e+02,1.712400000000000091e+02,1.720500000000000114e+02,1.769199999999999875e+02,1.845900000000000034e+02,1.903499999999999943e+02 +1.714000000000000057e+02,1.711800000000000068e+02,1.711399999999999864e+02,1.709099999999999966e+02,1.714600000000000080e+02,1.729699999999999989e+02,1.774499999999999886e+02,1.853600000000000136e+02,1.909099999999999966e+02 +1.706200000000000045e+02,1.703899999999999864e+02,1.702700000000000102e+02,1.715399999999999920e+02,1.726200000000000045e+02,1.743100000000000023e+02,1.794199999999999875e+02,1.873300000000000125e+02,1.926999999999999886e+02 +1.718799999999999955e+02,1.713899999999999864e+02,1.716299999999999955e+02,1.732199999999999989e+02,1.751500000000000057e+02,1.769099999999999966e+02,1.826200000000000045e+02,1.914499999999999886e+02,1.962800000000000011e+02 +1.762500000000000000e+02,1.758100000000000023e+02,1.762599999999999909e+02,1.782899999999999920e+02,1.800000000000000000e+02,1.819699999999999989e+02,1.884399999999999977e+02,1.969399999999999977e+02,2.013600000000000136e+02 +1.788799999999999955e+02,1.784699999999999989e+02,1.789099999999999966e+02,1.807500000000000000e+02,1.831699999999999875e+02,1.855500000000000114e+02,1.913300000000000125e+02,2.002400000000000091e+02,2.044399999999999977e+02 +1.779600000000000080e+02,1.780699999999999932e+02,1.782100000000000080e+02,1.808100000000000023e+02,1.825900000000000034e+02,1.849499999999999886e+02,1.912700000000000102e+02,2.002500000000000000e+02,2.043199999999999932e+02 +1.772700000000000102e+02,1.770600000000000023e+02,1.770999999999999943e+02,1.796999999999999886e+02,1.819699999999999989e+02,1.844099999999999966e+02,1.907899999999999920e+02,2.003400000000000034e+02,2.037599999999999909e+02 +1.766299999999999955e+02,1.765500000000000114e+02,1.770999999999999943e+02,1.797199999999999989e+02,1.812400000000000091e+02,1.841599999999999966e+02,1.906899999999999977e+02,2.002700000000000102e+02,2.035800000000000125e+02 +1.752500000000000000e+02,1.750399999999999920e+02,1.753700000000000045e+02,1.776500000000000057e+02,1.796800000000000068e+02,1.826899999999999977e+02,1.895099999999999909e+02,1.986599999999999966e+02,2.022100000000000080e+02 +1.729399999999999977e+02,1.726100000000000136e+02,1.730000000000000000e+02,1.749099999999999966e+02,1.777299999999999898e+02,1.802299999999999898e+02,1.869300000000000068e+02,1.965900000000000034e+02,1.992100000000000080e+02 +1.714699999999999989e+02,1.710600000000000023e+02,1.715000000000000000e+02,1.742199999999999989e+02,1.761500000000000057e+02,1.790999999999999943e+02,1.855500000000000114e+02,1.957800000000000011e+02,1.980399999999999920e+02 +1.734799999999999898e+02,1.732899999999999920e+02,1.737100000000000080e+02,1.759699999999999989e+02,1.782700000000000102e+02,1.807500000000000000e+02,1.881299999999999955e+02,1.978499999999999943e+02,2.000999999999999943e+02 +1.772299999999999898e+02,1.772700000000000102e+02,1.771800000000000068e+02,1.793100000000000023e+02,1.822700000000000102e+02,1.849199999999999875e+02,1.920399999999999920e+02,2.011899999999999977e+02,2.036100000000000136e+02 +1.786200000000000045e+02,1.786999999999999886e+02,1.787800000000000011e+02,1.811299999999999955e+02,1.836500000000000057e+02,1.860699999999999932e+02,1.935399999999999920e+02,2.019399999999999977e+02,2.039499999999999886e+02 +1.745399999999999920e+02,1.747700000000000102e+02,1.749099999999999966e+02,1.776899999999999977e+02,1.799199999999999875e+02,1.824099999999999966e+02,1.893199999999999932e+02,1.970000000000000000e+02,1.996100000000000136e+02 +1.674000000000000057e+02,1.674799999999999898e+02,1.682800000000000011e+02,1.699199999999999875e+02,1.720600000000000023e+02,1.750200000000000102e+02,1.820699999999999932e+02,1.897500000000000000e+02,1.917199999999999989e+02 +1.633700000000000045e+02,1.630300000000000011e+02,1.632299999999999898e+02,1.655699999999999932e+02,1.681699999999999875e+02,1.709099999999999966e+02,1.778000000000000114e+02,1.857100000000000080e+02,1.874600000000000080e+02 +1.632500000000000000e+02,1.637700000000000102e+02,1.636100000000000136e+02,1.660699999999999932e+02,1.687899999999999920e+02,1.712599999999999909e+02,1.780699999999999932e+02,1.868100000000000023e+02,1.873100000000000023e+02 +1.649799999999999898e+02,1.655699999999999932e+02,1.649399999999999977e+02,1.674399999999999977e+02,1.701299999999999955e+02,1.725999999999999943e+02,1.798799999999999955e+02,1.887500000000000000e+02,1.892400000000000091e+02 +1.662100000000000080e+02,1.665900000000000034e+02,1.666899999999999977e+02,1.689699999999999989e+02,1.711899999999999977e+02,1.739799999999999898e+02,1.811399999999999864e+02,1.891200000000000045e+02,1.893199999999999932e+02 +1.659300000000000068e+02,1.657800000000000011e+02,1.664300000000000068e+02,1.689199999999999875e+02,1.711100000000000136e+02,1.739399999999999977e+02,1.807800000000000011e+02,1.888600000000000136e+02,1.891599999999999966e+02 +1.666100000000000136e+02,1.668600000000000136e+02,1.669000000000000057e+02,1.697400000000000091e+02,1.720500000000000114e+02,1.746200000000000045e+02,1.815900000000000034e+02,1.891599999999999966e+02,1.891599999999999966e+02 +1.681200000000000045e+02,1.675900000000000034e+02,1.679199999999999875e+02,1.711299999999999955e+02,1.731100000000000136e+02,1.760999999999999943e+02,1.832800000000000011e+02,1.903199999999999932e+02,1.900300000000000011e+02 +1.697100000000000080e+02,1.698499999999999943e+02,1.702599999999999909e+02,1.724399999999999977e+02,1.745099999999999909e+02,1.777400000000000091e+02,1.853499999999999943e+02,1.916200000000000045e+02,1.917199999999999989e+02 +1.731399999999999864e+02,1.731699999999999875e+02,1.738000000000000114e+02,1.759300000000000068e+02,1.787899999999999920e+02,1.816899999999999977e+02,1.890800000000000125e+02,1.956399999999999864e+02,1.958400000000000034e+02 +1.810099999999999909e+02,1.807400000000000091e+02,1.813499999999999943e+02,1.841100000000000136e+02,1.864399999999999977e+02,1.895099999999999909e+02,1.971399999999999864e+02,2.033600000000000136e+02,2.034900000000000091e+02 +1.913899999999999864e+02,1.907500000000000000e+02,1.917500000000000000e+02,1.943899999999999864e+02,1.968300000000000125e+02,1.996800000000000068e+02,2.073400000000000034e+02,2.130399999999999920e+02,2.130699999999999932e+02 +1.959199999999999875e+02,1.956599999999999966e+02,1.961299999999999955e+02,1.988700000000000045e+02,2.009499999999999886e+02,2.043799999999999955e+02,2.122899999999999920e+02,2.169000000000000057e+02,2.167700000000000102e+02 +1.915500000000000114e+02,1.918199999999999932e+02,1.921800000000000068e+02,1.948499999999999943e+02,1.971299999999999955e+02,2.002700000000000102e+02,2.080000000000000000e+02,2.122199999999999989e+02,2.123600000000000136e+02 +1.846899999999999977e+02,1.848899999999999864e+02,1.851999999999999886e+02,1.882500000000000000e+02,1.904699999999999989e+02,1.933300000000000125e+02,2.012100000000000080e+02,2.049600000000000080e+02,2.052199999999999989e+02 +1.796800000000000068e+02,1.797299999999999898e+02,1.805699999999999932e+02,1.828899999999999864e+02,1.852800000000000011e+02,1.883199999999999932e+02,1.963600000000000136e+02,2.000600000000000023e+02,2.003199999999999932e+02 +1.774699999999999989e+02,1.774000000000000057e+02,1.774199999999999875e+02,1.803799999999999955e+02,1.826299999999999955e+02,1.860300000000000011e+02,1.940500000000000114e+02,1.973400000000000034e+02,1.972500000000000000e+02 +1.761899999999999977e+02,1.761399999999999864e+02,1.763600000000000136e+02,1.792700000000000102e+02,1.818899999999999864e+02,1.850699999999999932e+02,1.931299999999999955e+02,1.959600000000000080e+02,1.957599999999999909e+02 +1.759900000000000091e+02,1.763000000000000114e+02,1.769000000000000057e+02,1.795200000000000102e+02,1.823100000000000023e+02,1.854699999999999989e+02,1.935000000000000000e+02,1.955699999999999932e+02,1.958000000000000114e+02 +1.772299999999999898e+02,1.770399999999999920e+02,1.771100000000000136e+02,1.805500000000000114e+02,1.831500000000000057e+02,1.862800000000000011e+02,1.943300000000000125e+02,1.963100000000000023e+02,1.965000000000000000e+02 +1.792299999999999898e+02,1.791299999999999955e+02,1.795699999999999932e+02,1.825200000000000102e+02,1.846899999999999977e+02,1.881599999999999966e+02,1.962100000000000080e+02,1.975099999999999909e+02,1.978300000000000125e+02 +1.837100000000000080e+02,1.836899999999999977e+02,1.839300000000000068e+02,1.867700000000000102e+02,1.895200000000000102e+02,1.925200000000000102e+02,1.998100000000000023e+02,2.009600000000000080e+02,2.011500000000000057e+02 +1.863600000000000136e+02,1.867299999999999898e+02,1.872500000000000000e+02,1.899199999999999875e+02,1.928899999999999864e+02,1.956299999999999955e+02,2.021699999999999875e+02,2.040900000000000034e+02,2.039799999999999898e+02 +1.842500000000000000e+02,1.843000000000000114e+02,1.843600000000000136e+02,1.875600000000000023e+02,1.900999999999999943e+02,1.935300000000000011e+02,1.996599999999999966e+02,2.011899999999999977e+02,2.013000000000000114e+02 +1.784900000000000091e+02,1.784799999999999898e+02,1.788899999999999864e+02,1.821699999999999875e+02,1.851399999999999864e+02,1.877800000000000011e+02,1.935699999999999932e+02,1.953799999999999955e+02,1.956999999999999886e+02 +1.767599999999999909e+02,1.761599999999999966e+02,1.765699999999999932e+02,1.799900000000000091e+02,1.823400000000000034e+02,1.855300000000000011e+02,1.921899999999999977e+02,1.932400000000000091e+02,1.929399999999999977e+02 +1.810600000000000023e+02,1.806899999999999977e+02,1.811200000000000045e+02,1.841800000000000068e+02,1.863799999999999955e+02,1.900900000000000034e+02,1.966100000000000136e+02,1.970900000000000034e+02,1.968700000000000045e+02 +1.873899999999999864e+02,1.868199999999999932e+02,1.874600000000000080e+02,1.904699999999999989e+02,1.932500000000000000e+02,1.961100000000000136e+02,2.029399999999999977e+02,2.026800000000000068e+02,2.025699999999999932e+02 +1.904099999999999966e+02,1.901899999999999977e+02,1.903899999999999864e+02,1.936899999999999977e+02,1.963100000000000023e+02,1.995399999999999920e+02,2.062599999999999909e+02,2.058400000000000034e+02,2.049499999999999886e+02 +1.873600000000000136e+02,1.877500000000000000e+02,1.879099999999999966e+02,1.913799999999999955e+02,1.940200000000000102e+02,1.967899999999999920e+02,2.028799999999999955e+02,2.023300000000000125e+02,2.025099999999999909e+02 +1.816399999999999864e+02,1.817700000000000102e+02,1.813000000000000114e+02,1.852100000000000080e+02,1.879000000000000057e+02,1.910999999999999943e+02,1.967800000000000011e+02,1.959199999999999875e+02,1.964300000000000068e+02 +1.755699999999999932e+02,1.753700000000000045e+02,1.763300000000000125e+02,1.788000000000000114e+02,1.820500000000000114e+02,1.850500000000000114e+02,1.903100000000000023e+02,1.898700000000000045e+02,1.898700000000000045e+02 +1.744099999999999966e+02,1.741200000000000045e+02,1.750099999999999909e+02,1.781299999999999955e+02,1.809699999999999989e+02,1.904499999999999886e+02,1.884199999999999875e+02,1.879099999999999966e+02,1.877700000000000102e+02 +1.810000000000000000e+02,1.806299999999999955e+02,1.817500000000000000e+02,1.846999999999999886e+02,1.875300000000000011e+02,1.910800000000000125e+02,1.944399999999999977e+02,1.942400000000000091e+02,1.943000000000000114e+02 +1.919799999999999898e+02,1.914699999999999989e+02,1.921899999999999977e+02,1.951699999999999875e+02,1.981899999999999977e+02,2.017400000000000091e+02,2.048799999999999955e+02,2.044300000000000068e+02,2.043799999999999955e+02 +1.998000000000000114e+02,1.993400000000000034e+02,2.000399999999999920e+02,2.032500000000000000e+02,2.062500000000000000e+02,2.100699999999999932e+02,2.132400000000000091e+02,2.124900000000000091e+02,2.121399999999999864e+02 +2.020999999999999943e+02,2.022700000000000102e+02,2.028400000000000034e+02,2.060399999999999920e+02,2.085800000000000125e+02,2.127599999999999909e+02,2.158600000000000136e+02,2.151399999999999864e+02,2.150500000000000114e+02 +2.007500000000000000e+02,2.009099999999999966e+02,2.018400000000000034e+02,2.049699999999999989e+02,2.078499999999999943e+02,2.118899999999999864e+02,2.141100000000000136e+02,2.132700000000000102e+02,2.134000000000000057e+02 +1.988799999999999955e+02,1.989300000000000068e+02,1.995999999999999943e+02,2.027599999999999909e+02,2.060399999999999920e+02,2.098100000000000023e+02,2.118199999999999932e+02,2.107400000000000091e+02,2.108600000000000136e+02 +1.974699999999999989e+02,1.976200000000000045e+02,1.981999999999999886e+02,2.017599999999999909e+02,2.046500000000000057e+02,2.085999999999999943e+02,2.100399999999999920e+02,2.090900000000000034e+02,2.090099999999999909e+02 +1.966999999999999886e+02,1.963199999999999932e+02,1.970900000000000034e+02,2.007400000000000091e+02,2.034399999999999977e+02,2.074099999999999966e+02,2.086800000000000068e+02,2.075000000000000000e+02,2.075500000000000114e+02 +1.967899999999999920e+02,1.967100000000000080e+02,1.973600000000000136e+02,2.005399999999999920e+02,2.033400000000000034e+02,2.077400000000000091e+02,2.077899999999999920e+02,2.068000000000000114e+02,2.069900000000000091e+02 +1.956200000000000045e+02,1.952400000000000091e+02,1.957700000000000102e+02,1.999799999999999898e+02,2.033700000000000045e+02,2.073100000000000023e+02,2.064699999999999989e+02,2.060200000000000102e+02,2.052299999999999898e+02 +1.931800000000000068e+02,1.932299999999999898e+02,1.938400000000000034e+02,1.978799999999999955e+02,2.008100000000000023e+02,2.049000000000000057e+02,2.038100000000000023e+02,2.027400000000000091e+02,2.027199999999999989e+02 +1.943400000000000034e+02,1.942899999999999920e+02,1.950000000000000000e+02,1.984199999999999875e+02,2.019699999999999989e+02,2.054699999999999989e+02,2.039199999999999875e+02,2.028300000000000125e+02,2.031399999999999864e+02 +1.990999999999999943e+02,1.991299999999999955e+02,2.000399999999999920e+02,2.037899999999999920e+02,2.071100000000000136e+02,2.101699999999999875e+02,2.080999999999999943e+02,2.072599999999999909e+02,2.069699999999999989e+02 +2.019199999999999875e+02,2.013300000000000125e+02,2.027199999999999989e+02,2.064399999999999977e+02,2.095999999999999943e+02,2.113400000000000034e+02,2.101800000000000068e+02,2.092899999999999920e+02,2.093700000000000045e+02 +1.951399999999999864e+02,1.953600000000000136e+02,1.961599999999999966e+02,2.000399999999999920e+02,2.038400000000000034e+02,2.050000000000000000e+02,2.042899999999999920e+02,2.028799999999999955e+02,2.028100000000000023e+02 +1.847199999999999989e+02,1.848400000000000034e+02,1.858799999999999955e+02,1.891500000000000057e+02,1.935500000000000114e+02,1.938600000000000136e+02,1.936200000000000045e+02,1.921800000000000068e+02,1.923700000000000045e+02 +1.791999999999999886e+02,1.794300000000000068e+02,1.800300000000000011e+02,1.839499999999999886e+02,1.876800000000000068e+02,1.886599999999999966e+02,1.865099999999999909e+02,1.859799999999999898e+02,1.856200000000000045e+02 +1.782100000000000080e+02,1.778300000000000125e+02,1.787700000000000102e+02,1.829300000000000068e+02,1.862299999999999898e+02,1.876299999999999955e+02,1.856399999999999864e+02,1.840699999999999932e+02,1.840600000000000023e+02 +1.792400000000000091e+02,1.789000000000000057e+02,1.798000000000000114e+02,1.839499999999999886e+02,1.879699999999999989e+02,1.890800000000000125e+02,1.856200000000000045e+02,1.849799999999999898e+02,1.848300000000000125e+02 +1.826999999999999886e+02,1.819300000000000068e+02,1.830399999999999920e+02,1.869300000000000068e+02,1.905200000000000102e+02,1.920000000000000000e+02,1.882500000000000000e+02,1.871800000000000068e+02,1.871800000000000068e+02 +1.856699999999999875e+02,1.853799999999999955e+02,1.863899999999999864e+02,1.902400000000000091e+02,1.942299999999999898e+02,1.945200000000000102e+02,1.905000000000000000e+02,1.893300000000000125e+02,1.898899999999999864e+02 +1.891999999999999886e+02,1.885699999999999932e+02,1.896699999999999875e+02,1.935600000000000023e+02,1.972400000000000091e+02,1.969000000000000057e+02,1.927800000000000011e+02,1.920900000000000034e+02,1.918899999999999864e+02 +1.926999999999999886e+02,1.921100000000000136e+02,1.927599999999999909e+02,1.970699999999999932e+02,2.009300000000000068e+02,1.996899999999999977e+02,1.955900000000000034e+02,1.946399999999999864e+02,1.943000000000000114e+02 +1.968899999999999864e+02,1.959799999999999898e+02,1.976200000000000045e+02,2.016699999999999875e+02,2.047100000000000080e+02,2.031699999999999875e+02,1.989000000000000057e+02,1.981999999999999886e+02,1.980099999999999909e+02 +1.980200000000000102e+02,1.983000000000000114e+02,1.989600000000000080e+02,2.030300000000000011e+02,2.052899999999999920e+02,2.048000000000000114e+02,2.000500000000000114e+02,1.992299999999999898e+02,1.991200000000000045e+02 +1.938600000000000136e+02,1.944499999999999886e+02,1.951200000000000045e+02,1.990399999999999920e+02,2.002500000000000000e+02,2.000300000000000011e+02,1.958600000000000136e+02,1.950500000000000114e+02,1.947700000000000102e+02 +1.881299999999999955e+02,1.882899999999999920e+02,1.889499999999999886e+02,1.935900000000000034e+02,1.921899999999999977e+02,1.926200000000000045e+02,1.883899999999999864e+02,1.873300000000000125e+02,1.877100000000000080e+02 +1.928400000000000034e+02,1.923799999999999955e+02,1.930699999999999932e+02,1.970399999999999920e+02,1.955300000000000011e+02,1.950900000000000034e+02,1.911100000000000136e+02,1.900600000000000023e+02,1.896800000000000068e+02 +2.062299999999999898e+02,2.051100000000000136e+02,2.067100000000000080e+02,2.109499999999999886e+02,2.100999999999999943e+02,2.081800000000000068e+02,2.032199999999999989e+02,2.028600000000000136e+02,2.029099999999999966e+02 +2.159600000000000080e+02,2.154699999999999989e+02,2.168100000000000023e+02,2.210900000000000034e+02,2.213499999999999943e+02,2.184099999999999966e+02,2.141899999999999977e+02,2.127599999999999909e+02,2.128000000000000114e+02 +2.186800000000000068e+02,2.184399999999999977e+02,2.193000000000000114e+02,2.233700000000000045e+02,2.244300000000000068e+02,2.209399999999999977e+02,2.165399999999999920e+02,2.157500000000000000e+02,2.155300000000000011e+02 +2.178899999999999864e+02,2.169600000000000080e+02,2.187899999999999920e+02,2.225600000000000023e+02,2.232199999999999989e+02,2.189499999999999886e+02,2.152100000000000080e+02,2.142700000000000102e+02,2.138400000000000034e+02 +2.163899999999999864e+02,2.166599999999999966e+02,2.174900000000000091e+02,2.213400000000000034e+02,2.209600000000000080e+02,2.171599999999999966e+02,2.127299999999999898e+02,2.120200000000000102e+02,2.117199999999999989e+02 +2.172899999999999920e+02,2.170099999999999909e+02,2.178199999999999932e+02,2.221500000000000057e+02,2.208300000000000125e+02,2.173199999999999932e+02,2.121899999999999977e+02,2.117800000000000011e+02,2.113600000000000136e+02 +2.219000000000000057e+02,2.216200000000000045e+02,2.225800000000000125e+02,2.269699999999999989e+02,2.247400000000000091e+02,2.208199999999999932e+02,2.164799999999999898e+02,2.153799999999999955e+02,2.148600000000000136e+02 +2.305800000000000125e+02,2.303300000000000125e+02,2.310399999999999920e+02,2.349499999999999886e+02,2.321299999999999955e+02,2.282599999999999909e+02,2.237299999999999898e+02,2.228799999999999955e+02,2.228899999999999864e+02 +2.390200000000000102e+02,2.386500000000000057e+02,2.391899999999999977e+02,2.426800000000000068e+02,2.399199999999999875e+02,2.361500000000000057e+02,2.320500000000000114e+02,2.311399999999999864e+02,2.306100000000000136e+02 +2.392800000000000011e+02,2.393499999999999943e+02,2.404300000000000068e+02,2.419199999999999875e+02,2.402199999999999989e+02,2.368100000000000023e+02,2.319199999999999875e+02,2.315500000000000114e+02,2.312800000000000011e+02 +2.271899999999999977e+02,2.277800000000000011e+02,2.274300000000000068e+02,2.290699999999999932e+02,2.287100000000000080e+02,2.241200000000000045e+02,2.200300000000000011e+02,2.196999999999999886e+02,2.194199999999999875e+02 +2.077500000000000000e+02,2.090900000000000034e+02,2.092199999999999989e+02,2.106299999999999955e+02,2.086299999999999955e+02,2.051100000000000136e+02,2.011699999999999875e+02,2.000999999999999943e+02,2.004699999999999989e+02 +1.942899999999999920e+02,1.940600000000000023e+02,1.947100000000000080e+02,1.959300000000000068e+02,1.929799999999999898e+02,1.893700000000000045e+02,1.852800000000000011e+02,1.838199999999999932e+02,1.842299999999999898e+02 +1.938400000000000034e+02,1.931899999999999977e+02,1.948199999999999932e+02,1.950000000000000000e+02,1.916399999999999864e+02,1.870500000000000114e+02,1.829000000000000057e+02,1.819099999999999966e+02,1.813600000000000136e+02 +2.039900000000000091e+02,2.035099999999999909e+02,2.049900000000000091e+02,2.055099999999999909e+02,2.007800000000000011e+02,1.963000000000000114e+02,1.917599999999999909e+02,1.906100000000000136e+02,1.909499999999999886e+02 +2.116100000000000136e+02,2.110099999999999909e+02,2.122299999999999898e+02,2.130399999999999920e+02,2.081500000000000057e+02,2.038199999999999932e+02,1.987700000000000102e+02,1.984499999999999886e+02,1.982199999999999989e+02 +2.113700000000000045e+02,2.114099999999999966e+02,2.122899999999999920e+02,2.134499999999999886e+02,2.070200000000000102e+02,2.035699999999999932e+02,1.989699999999999989e+02,1.982800000000000011e+02,1.973100000000000023e+02 +2.071899999999999977e+02,2.075500000000000114e+02,2.085399999999999920e+02,2.087700000000000102e+02,2.027700000000000102e+02,1.994900000000000091e+02,1.947400000000000091e+02,1.935900000000000034e+02,1.934300000000000068e+02 +2.019499999999999886e+02,2.027299999999999898e+02,2.036899999999999977e+02,2.030399999999999920e+02,1.974699999999999989e+02,1.927100000000000080e+02,1.888600000000000136e+02,1.873600000000000136e+02,1.870699999999999932e+02 +1.959099999999999966e+02,1.956699999999999875e+02,1.970200000000000102e+02,1.951599999999999966e+02,1.900300000000000011e+02,1.859399999999999977e+02,1.810900000000000034e+02,1.805900000000000034e+02,1.805699999999999932e+02 +1.898799999999999955e+02,1.899000000000000057e+02,1.909399999999999977e+02,1.888199999999999932e+02,1.832500000000000000e+02,1.791599999999999966e+02,1.749600000000000080e+02,1.740399999999999920e+02,1.734099999999999966e+02 +1.882700000000000102e+02,1.871699999999999875e+02,1.886399999999999864e+02,1.852899999999999920e+02,1.798799999999999955e+02,1.759600000000000080e+02,1.713400000000000034e+02,1.706699999999999875e+02,1.701899999999999977e+02 +1.966500000000000057e+02,1.954499999999999886e+02,1.971200000000000045e+02,1.930800000000000125e+02,1.874199999999999875e+02,1.827400000000000091e+02,1.781899999999999977e+02,1.774799999999999898e+02,1.772800000000000011e+02 +2.175999999999999943e+02,2.162599999999999909e+02,2.177700000000000102e+02,2.124900000000000091e+02,2.066599999999999966e+02,2.019399999999999977e+02,1.970699999999999932e+02,1.967500000000000000e+02,1.967100000000000080e+02 +2.343600000000000136e+02,2.337899999999999920e+02,2.353199999999999932e+02,2.290500000000000114e+02,2.229199999999999875e+02,2.183700000000000045e+02,2.146399999999999864e+02,2.136899999999999977e+02,2.136500000000000057e+02 +2.371899999999999977e+02,2.373300000000000125e+02,2.382800000000000011e+02,2.311899999999999977e+02,2.257199999999999989e+02,2.214300000000000068e+02,2.170399999999999920e+02,2.165200000000000102e+02,2.162599999999999909e+02 +2.335500000000000114e+02,2.339099999999999966e+02,2.346200000000000045e+02,2.272299999999999898e+02,2.220399999999999920e+02,2.177500000000000000e+02,2.130999999999999943e+02,2.121299999999999955e+02,2.122299999999999898e+02 +2.305300000000000011e+02,2.305999999999999943e+02,2.314099999999999966e+02,2.234600000000000080e+02,2.176299999999999955e+02,2.137599999999999909e+02,2.097500000000000000e+02,2.086500000000000057e+02,2.084699999999999989e+02 +2.295200000000000102e+02,2.295399999999999920e+02,2.306999999999999886e+02,2.226500000000000057e+02,2.162100000000000080e+02,2.125399999999999920e+02,2.078799999999999955e+02,2.071399999999999864e+02,2.067800000000000011e+02 +2.299799999999999898e+02,2.292199999999999989e+02,2.310200000000000102e+02,2.218499999999999943e+02,2.160600000000000023e+02,2.120399999999999920e+02,2.067199999999999989e+02,2.059099999999999966e+02,2.056100000000000136e+02 +2.304199999999999875e+02,2.301100000000000136e+02,2.315900000000000034e+02,2.217700000000000102e+02,2.156399999999999864e+02,2.114399999999999977e+02,2.069600000000000080e+02,2.056599999999999966e+02,2.054799999999999898e+02 +2.303700000000000045e+02,2.303100000000000023e+02,2.310999999999999943e+02,2.200999999999999943e+02,2.139199999999999875e+02,2.098400000000000034e+02,2.055200000000000102e+02,2.044600000000000080e+02,2.044499999999999886e+02 +2.300999999999999943e+02,2.302700000000000102e+02,2.299399999999999977e+02,2.198899999999999864e+02,2.136299999999999955e+02,2.095500000000000114e+02,2.049000000000000057e+02,2.033000000000000114e+02,2.038199999999999932e+02 +2.317400000000000091e+02,2.310300000000000011e+02,2.305099999999999909e+02,2.203300000000000125e+02,2.145300000000000011e+02,2.101999999999999886e+02,2.057700000000000102e+02,2.047400000000000091e+02,2.044300000000000068e+02 +2.291200000000000045e+02,2.295399999999999920e+02,2.264499999999999886e+02,2.174000000000000057e+02,2.111899999999999977e+02,2.070500000000000114e+02,2.027599999999999909e+02,2.015800000000000125e+02,2.015600000000000023e+02 +2.150800000000000125e+02,2.222899999999999920e+02,2.185000000000000000e+02,2.091299999999999955e+02,2.032199999999999989e+02,1.988899999999999864e+02,1.945200000000000102e+02,1.940500000000000114e+02,1.940999999999999943e+02 +2.147299999999999898e+02,2.146299999999999955e+02,2.114000000000000057e+02,2.010600000000000023e+02,1.956299999999999955e+02,1.909600000000000080e+02,1.861399999999999864e+02,1.857299999999999898e+02,1.856500000000000057e+02 +2.123199999999999932e+02,2.116299999999999955e+02,2.094099999999999966e+02,1.978899999999999864e+02,1.920800000000000125e+02,1.877199999999999989e+02,1.834900000000000091e+02,1.823499999999999943e+02,1.821100000000000136e+02 +2.167199999999999989e+02,2.166599999999999966e+02,2.144900000000000091e+02,2.019099999999999966e+02,1.957199999999999989e+02,1.913400000000000034e+02,1.861999999999999886e+02,1.862800000000000011e+02,1.856699999999999875e+02 +2.232700000000000102e+02,2.226399999999999864e+02,2.211599999999999966e+02,2.072700000000000102e+02,2.013499999999999943e+02,1.973300000000000125e+02,1.928400000000000034e+02,1.918000000000000114e+02,1.916599999999999966e+02 +2.280399999999999920e+02,2.273499999999999943e+02,2.247299999999999898e+02,2.108100000000000023e+02,2.055800000000000125e+02,2.009799999999999898e+02,1.957800000000000011e+02,1.958199999999999932e+02,1.955500000000000114e+02 +2.293100000000000023e+02,2.285800000000000125e+02,2.257299999999999898e+02,2.112700000000000102e+02,2.058899999999999864e+02,2.020300000000000011e+02,1.971500000000000057e+02,1.960600000000000023e+02,1.958700000000000045e+02 +2.292400000000000091e+02,2.291500000000000057e+02,2.240200000000000102e+02,2.108600000000000136e+02,2.049699999999999989e+02,2.009199999999999875e+02,1.959699999999999989e+02,1.953300000000000125e+02,1.954900000000000091e+02 +2.278799999999999955e+02,2.274300000000000068e+02,2.223799999999999955e+02,2.086899999999999977e+02,2.023100000000000023e+02,1.981399999999999864e+02,1.939099999999999966e+02,1.928899999999999864e+02,1.928199999999999932e+02 +2.250999999999999943e+02,2.244799999999999898e+02,2.179799999999999898e+02,2.046100000000000136e+02,1.988400000000000034e+02,1.948100000000000023e+02,1.898600000000000136e+02,1.891399999999999864e+02,1.889600000000000080e+02 +2.218000000000000114e+02,2.209399999999999977e+02,2.141999999999999886e+02,2.010500000000000114e+02,1.950399999999999920e+02,1.906699999999999875e+02,1.851500000000000057e+02,1.847700000000000102e+02,1.848199999999999932e+02 +2.213100000000000023e+02,2.202500000000000000e+02,2.134699999999999989e+02,1.994099999999999966e+02,1.937100000000000080e+02,1.887500000000000000e+02,1.840500000000000114e+02,1.831100000000000136e+02,1.833199999999999932e+02 +2.263199999999999932e+02,2.252100000000000080e+02,2.169300000000000068e+02,2.029099999999999966e+02,1.973000000000000114e+02,1.924699999999999989e+02,1.883100000000000023e+02,1.870200000000000102e+02,1.866699999999999875e+02 +2.312599999999999909e+02,2.302299999999999898e+02,2.213899999999999864e+02,2.071100000000000136e+02,2.011299999999999955e+02,1.971100000000000136e+02,1.919199999999999875e+02,1.913100000000000023e+02,1.908400000000000034e+02 +2.340500000000000114e+02,2.332700000000000102e+02,2.236699999999999875e+02,2.099099999999999966e+02,2.039199999999999875e+02,1.995300000000000011e+02,1.949799999999999898e+02,1.936599999999999966e+02,1.935200000000000102e+02 +2.388100000000000023e+02,2.373300000000000125e+02,2.281999999999999886e+02,2.135600000000000023e+02,2.075699999999999932e+02,2.033300000000000125e+02,1.986699999999999875e+02,1.977299999999999898e+02,1.977800000000000011e+02 +2.423199999999999932e+02,2.411100000000000136e+02,2.307400000000000091e+02,2.167299999999999898e+02,2.107100000000000080e+02,2.069099999999999966e+02,2.019600000000000080e+02,2.012800000000000011e+02,2.011299999999999955e+02 +2.433499999999999943e+02,2.427199999999999989e+02,2.315000000000000000e+02,2.171100000000000136e+02,2.112400000000000091e+02,2.066399999999999864e+02,2.023600000000000136e+02,2.015399999999999920e+02,2.017199999999999989e+02 +2.451699999999999875e+02,2.443799999999999955e+02,2.323300000000000125e+02,2.176399999999999864e+02,2.119499999999999886e+02,2.077899999999999920e+02,2.027199999999999989e+02,2.021999999999999886e+02,2.020500000000000114e+02 +2.471699999999999875e+02,2.464499999999999886e+02,2.329300000000000068e+02,2.190900000000000034e+02,2.133300000000000125e+02,2.090200000000000102e+02,2.043799999999999955e+02,2.035200000000000102e+02,2.029600000000000080e+02 +2.500600000000000023e+02,2.491399999999999864e+02,2.359000000000000057e+02,2.221800000000000068e+02,2.162599999999999909e+02,2.121800000000000068e+02,2.076599999999999966e+02,2.065600000000000023e+02,2.068600000000000136e+02 +2.577900000000000205e+02,2.571700000000000159e+02,2.431699999999999875e+02,2.295399999999999920e+02,2.235099999999999909e+02,2.190999999999999943e+02,2.145900000000000034e+02,2.133600000000000136e+02,2.133300000000000125e+02 +2.659200000000000159e+02,2.639300000000000068e+02,2.506299999999999955e+02,2.361200000000000045e+02,2.304000000000000057e+02,2.256299999999999955e+02,2.208600000000000136e+02,2.207400000000000091e+02,2.201999999999999886e+02 +2.676200000000000045e+02,2.646299999999999955e+02,2.506699999999999875e+02,2.363100000000000023e+02,2.301899999999999977e+02,2.255600000000000023e+02,2.216200000000000045e+02,2.201599999999999966e+02,2.194600000000000080e+02 +2.526699999999999875e+02,2.496100000000000136e+02,2.350000000000000000e+02,2.202100000000000080e+02,2.138700000000000045e+02,2.094300000000000068e+02,2.047599999999999909e+02,2.032500000000000000e+02,2.019900000000000091e+02 +2.282700000000000102e+02,2.249000000000000057e+02,2.090099999999999909e+02,1.947899999999999920e+02,1.885099999999999909e+02,1.827199999999999989e+02,1.792700000000000102e+02,1.772800000000000011e+02,1.772700000000000102e+02 +2.155300000000000011e+02,2.106299999999999955e+02,1.957199999999999989e+02,1.806999999999999886e+02,1.752700000000000102e+02,1.704199999999999875e+02,1.654699999999999989e+02,1.645600000000000023e+02,1.645600000000000023e+02 +2.240399999999999920e+02,2.194300000000000068e+02,2.033799999999999955e+02,1.889600000000000080e+02,1.832700000000000102e+02,1.790900000000000034e+02,1.740000000000000000e+02,1.740000000000000000e+02,1.733100000000000023e+02 +2.373899999999999864e+02,2.330900000000000034e+02,2.156599999999999966e+02,2.018300000000000125e+02,1.960399999999999920e+02,1.912800000000000011e+02,1.866500000000000057e+02,1.858600000000000136e+02,1.862700000000000102e+02 +2.408300000000000125e+02,2.365999999999999943e+02,2.187800000000000011e+02,2.041599999999999966e+02,1.985000000000000000e+02,1.939499999999999886e+02,1.892800000000000011e+02,1.882199999999999989e+02,1.875099999999999909e+02 +2.389799999999999898e+02,2.335300000000000011e+02,2.153899999999999864e+02,2.004900000000000091e+02,1.949799999999999898e+02,1.905900000000000034e+02,1.858199999999999932e+02,1.845999999999999943e+02,1.845699999999999932e+02 +2.384600000000000080e+02,2.320800000000000125e+02,2.135699999999999932e+02,1.993499999999999943e+02,1.938000000000000114e+02,1.891699999999999875e+02,1.838100000000000023e+02,1.832899999999999920e+02,1.835000000000000000e+02 +2.418199999999999932e+02,2.347500000000000000e+02,2.169000000000000057e+02,2.025200000000000102e+02,1.961200000000000045e+02,1.919900000000000091e+02,1.871200000000000045e+02,1.863400000000000034e+02,1.867299999999999898e+02 +2.461800000000000068e+02,2.387700000000000102e+02,2.203499999999999943e+02,2.059300000000000068e+02,2.001500000000000057e+02,1.955600000000000023e+02,1.909799999999999898e+02,1.898799999999999955e+02,1.899199999999999875e+02 +2.477100000000000080e+02,2.402299999999999898e+02,2.219199999999999875e+02,2.072899999999999920e+02,2.013199999999999932e+02,1.966999999999999886e+02,1.921500000000000057e+02,1.909499999999999886e+02,1.906599999999999966e+02 +2.457899999999999920e+02,2.375399999999999920e+02,2.189000000000000057e+02,2.046399999999999864e+02,1.979399999999999977e+02,1.931399999999999864e+02,1.885699999999999932e+02,1.873199999999999932e+02,1.875099999999999909e+02 +2.423499999999999943e+02,2.329300000000000068e+02,2.143799999999999955e+02,1.989000000000000057e+02,1.936500000000000057e+02,1.890800000000000125e+02,1.840800000000000125e+02,1.832800000000000011e+02,1.829499999999999886e+02 +2.433300000000000125e+02,2.328499999999999943e+02,2.147400000000000091e+02,1.999900000000000091e+02,1.938199999999999932e+02,1.893000000000000114e+02,1.844099999999999966e+02,1.835699999999999932e+02,1.835000000000000000e+02 +2.493799999999999955e+02,2.374799999999999898e+02,2.203600000000000136e+02,2.054900000000000091e+02,2.004099999999999966e+02,1.954600000000000080e+02,1.904199999999999875e+02,1.898300000000000125e+02,1.895300000000000011e+02 +2.586200000000000045e+02,2.464199999999999875e+02,2.287400000000000091e+02,2.148899999999999864e+02,2.093600000000000136e+02,2.047299999999999898e+02,1.999900000000000091e+02,1.991699999999999875e+02,1.989099999999999966e+02 diff --git a/tests/data/8_actuator_output.txt b/tests/data/8_actuator_output.txt new file mode 100644 index 0000000..f83b66b --- /dev/null +++ b/tests/data/8_actuator_output.txt @@ -0,0 +1,8 @@ +1.038570862242364683e+02 +-7.851295652142359138e+00 +3.810159077901251123e+01 +2.169648645139839260e+01 +-8.453195968470640764e+01 +5.327945430609133126e+01 +-6.701602106542451054e+01 +2.399563025205714073e+00 diff --git a/tests/script_test.py b/tests/script_test.py new file mode 100644 index 0000000..b8c39fc --- /dev/null +++ b/tests/script_test.py @@ -0,0 +1,34 @@ +import numpy as np +import pytest + +from bimorph_mirror_analysis.maths import find_voltages + +# from bimorph_mirror_analysis.maths import find_voltages + + +@pytest.mark.parametrize( + ["input_path", "output_path"], + [ + ["tests/data/8_actuator_data.txt", "tests/data/8_actuator_output.txt"], + ["tests/data/16_actuator_data.txt", "tests/data/16_actuator_output.txt"], + ], +) +def test_find_voltages_correct_output(input_path, output_path): + data = np.loadtxt(input_path, delimiter=",") + v = -100 + expected_output = np.loadtxt(output_path, delimiter=",") + np.testing.assert_almost_equal( + find_voltages(data, v, baseline_voltage_scan=-1), expected_output + ) + + +def test_find_voltages_index_error_throw(): + data = np.loadtxt("tests/data/8_actuator_data.txt", delimiter=",") + with pytest.raises(IndexError): + find_voltages(data, -100, baseline_voltage_scan=12) + + +def test_find_voltages_type_error_throw(): + data = np.loadtxt("tests/data/8_actuator_data.txt", delimiter=",") + with pytest.raises(TypeError): + find_voltages(data, -100, baseline_voltage_scan="12") # type: ignore