diff --git a/RATapi/utils/convert.py b/RATapi/utils/convert.py index f5e1e0ff..52c8603c 100644 --- a/RATapi/utils/convert.py +++ b/RATapi/utils/convert.py @@ -37,7 +37,7 @@ def r1_to_project_class(filename: str) -> Project: # R1 uses a different name for custom xy layer model layer_model = mat_module["type"] - if layer_model == "custom XY profile": + if layer_model.lower() == "custom xy profile": layer_model = LayerModels.CustomXY layer_model = LayerModels(layer_model) @@ -105,7 +105,9 @@ def read_param(names, constrs, values, fits): f"Background parameter {i}" for i in range(1, mat_project["numberOfBacks"] + 1) ] - if mat_project["numberOfResolutions"] == 1: + # sometimes numberOfResolutions isn't defined: in all these cases there's only one resolution + # maybe from before multiple resolutions were possible? + if getattr(mat_project, "numberOfResolutions", 1) == 1: mat_project["res_param_names"] = "Resolution parameter 1" else: mat_project["res_param_names"] = [ @@ -208,10 +210,11 @@ def read_param(names, constrs, values, fits): [ Layer( name=name, - thickness=params[thickness - 1].name, - SLD=params[sld - 1].name, - roughness=params[roughness - 1].name, - hydration=params[hydration - 1].name, + thickness=params[int(thickness) - 1].name, + SLD=params[int(sld) - 1].name, + roughness=params[int(roughness) - 1].name, + # if hydration is not set, it is an empty numpy array, else it is a string representing a number + hydration=params[int(hydration) - 1].name if getattr(hydration, "size", 1) > 0 else "", hydrate_with=hydrate_with, ) # R1 layers are 6-item arrays, unpack into a Layer object @@ -224,7 +227,8 @@ def read_param(names, constrs, values, fits): if ( isinstance(mat_project["contrastsNumberOfLayers"], int) and mat_project["contrastsNumberOfLayers"] == 0 - or mat_project["contrastsNumberOfLayers"][i] == 0 + or isinstance(mat_project["contrastsNumberOfLayers"], list) + and mat_project["contrastsNumberOfLayers"][i] == 0 ): continue # contrastLayers is not an array, but rather a string with commas between entries @@ -412,7 +416,7 @@ def convert_parameters( project.parameters.index(layer.thickness, True), project.parameters.index(layer.SLD, True), project.parameters.index(layer.roughness, True), - project.parameters.index(layer.hydration, True), + project.parameters.index(layer.hydration, True) if layer.hydration else empty(shape=(0, 0)), layer.name, str(layer.hydrate_with), ] diff --git a/tests/conftest.py b/tests/conftest.py index 815acf6a..cfbf3bd2 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,3 +1,5 @@ +from pathlib import Path + import numpy as np import pytest @@ -6000,6 +6002,1132 @@ def r1_monolayer(): return project +@pytest.fixture +def r1_monolayer_8_contrasts(): + """The Project equivalent of the R1 Monolayer_8_contrasts RasCAL-1 project.""" + return RATapi.Project( + name="20nM_data", + calculation="non polarised", + model="standard layers", + geometry="air/substrate", + absorption=False, + parameters=[ + RATapi.models.ProtectedParameter( + name="Substrate Roughness", + min=3.0, + value=6.990825828311747, + max=7.0, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="Tails thick", + min=12.0, + value=18.769067940891517, + max=20.0, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="Deuterated tails SLD", + min=5e-06, + value=6.935587727961928e-06, + max=9e-06, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="Tails roughness", + min=3.0, + value=3.0000000000074776, + max=7.0, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="Hydrogenated tails SLD", + min=-6e-07, + value=-2.1907853109709215e-07, + max=-2e-07, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="Head thickness", + min=7.0, + value=7.000000000117902, + max=12.0, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="Deuterated head SLD", + min=3e-06, + value=5.855129143529369e-06, + max=6e-06, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="Head roughness", + min=3.0, + value=3.0000000000000258, + max=7.0, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="Hydrogenated head SLD", + min=1e-06, + value=1.8079398141440577e-06, + max=2e-06, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="Head hydration", + min=0.0, + value=9.33740417574095, + max=20.0, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + ], + bulk_in=[ + RATapi.models.Parameter( + name="Air", + min=0.0, + value=0.0, + max=0.0, + fit=False, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ) + ], + bulk_out=[ + RATapi.models.Parameter( + name="D2O", + min=6.3e-06, + value=6.349999999999999e-06, + max=6.4e-06, + fit=False, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="ACMW", + min=-5e-07, + value=3.492898018624419e-08, + max=5e-07, + fit=False, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + ], + scalefactors=[ + RATapi.models.Parameter( + name="Scalefactor 1", + min=0.1, + value=0.23251357931599084, + max=0.4, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ) + ], + domain_ratios=[], + background_parameters=[ + RATapi.models.Parameter( + name="Background parameter 1", + min=1e-07, + value=2.889465920816701e-06, + max=7e-06, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="Background parameter 2", + min=1e-07, + value=5.172884539063037e-06, + max=7e-06, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + ], + backgrounds=[ + RATapi.models.Background( + name="Background D2O", + type="constant", + value_1="Background parameter 1", + value_2="", + value_3="", + value_4="", + value_5="", + ), + RATapi.models.Background( + name="Background ACMW", + type="constant", + value_1="Background parameter 2", + value_2="", + value_3="", + value_4="", + value_5="", + ), + ], + resolution_parameters=[ + RATapi.models.Parameter( + name="Resolution parameter 1", + min=0.01, + value=0.029999999999999964, + max=0.05, + fit=False, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ) + ], + resolutions=[ + RATapi.models.Resolution( + name="Resolution 1", + type="constant", + value_1="Resolution parameter 1", + value_2="", + value_3="", + value_4="", + value_5="", + ) + ], + custom_files=[], + data=[ + RATapi.models.Data( + name="d70acmw20", + data=np.array( + [ + [5.1793e-02, 2.3792e-04, 3.6498e-06], + [5.4383e-02, 2.2030e-04, 3.1361e-06], + [5.7102e-02, 1.9302e-04, 2.6450e-06], + [5.9957e-02, 1.7223e-04, 2.2673e-06], + [6.2955e-02, 1.5210e-04, 1.9699e-06], + [6.6103e-02, 1.3650e-04, 1.7055e-06], + [6.9408e-02, 1.1806e-04, 1.5072e-06], + [7.2878e-02, 1.0904e-04, 1.3658e-06], + [7.6522e-02, 9.5873e-05, 1.2024e-06], + [8.0348e-02, 8.2201e-05, 1.0754e-06], + [8.4365e-02, 7.0764e-05, 9.4576e-07], + [8.8584e-02, 6.2973e-05, 8.3975e-07], + [9.3013e-02, 5.3710e-05, 7.3854e-07], + [9.7664e-02, 4.6651e-05, 6.5893e-07], + [1.0255e-01, 4.0448e-05, 5.8945e-07], + [1.0767e-01, 3.4559e-05, 5.2655e-07], + [1.1306e-01, 2.9817e-05, 4.7806e-07], + [1.1871e-01, 2.5965e-05, 4.4165e-07], + [1.2465e-01, 2.1963e-05, 3.9117e-07], + [1.3088e-01, 1.8535e-05, 3.5668e-07], + [1.3742e-01, 1.6299e-05, 3.4665e-07], + [1.4429e-01, 1.3704e-05, 3.2491e-07], + [1.5151e-01, 1.0571e-05, 2.9830e-07], + [1.5908e-01, 8.9320e-06, 2.9188e-07], + [1.6704e-01, 6.8328e-06, 2.7922e-07], + [1.7539e-01, 5.7856e-06, 2.7261e-07], + [1.8416e-01, 4.5358e-06, 2.5335e-07], + [1.9337e-01, 3.9935e-06, 2.5336e-07], + [2.0304e-01, 3.1800e-06, 5.2440e-07], + [2.1319e-01, 2.7006e-06, 4.6690e-07], + [2.2385e-01, 2.2210e-06, 4.5090e-07], + [2.3504e-01, 1.6163e-06, 4.9340e-07], + [2.4679e-01, 1.7554e-06, 3.2120e-07], + [2.5913e-01, 1.3194e-06, 1.7170e-07], + [2.7209e-01, 1.5033e-06, 3.4760e-07], + [2.8569e-01, 1.3801e-06, 7.2017e-07], + [2.9998e-01, 1.2640e-06, 4.5486e-07], + [3.1497e-01, 1.0585e-06, 3.6820e-07], + [3.3072e-01, 1.3063e-06, 4.5401e-07], + [3.4726e-01, 1.1229e-06, 2.3240e-07], + [3.6462e-01, 1.5197e-06, 4.8780e-07], + [3.8285e-01, 1.1419e-06, 4.1880e-07], + [4.0200e-01, 1.3285e-06, 4.0215e-07], + [4.2210e-01, 1.2467e-06, 5.8010e-07], + [4.4320e-01, 1.1322e-06, 3.2730e-07], + [4.6536e-01, 1.1336e-06, 4.3291e-07], + [4.8863e-01, 1.4843e-06, 5.0110e-07], + [5.1306e-01, 1.2055e-06, 3.0660e-07], + [5.3871e-01, 1.2170e-06, 4.0500e-07], + [5.6565e-01, 8.9674e-07, 3.5866e-07], + [5.8877e-01, 9.4625e-07, 7.6511e-07], + ] + ), + data_range=[0.051793, 0.58877], + simulation_range=[0.051793, 0.58877], + ), + RATapi.models.Data( + name="d70d2o20", + data=np.array( + [ + [5.1793e-02, 1.4943e-04, 3.2517e-06], + [5.4383e-02, 1.1882e-04, 2.5846e-06], + [5.7102e-02, 9.2164e-05, 2.0507e-06], + [5.9957e-02, 7.7813e-05, 1.7070e-06], + [6.2955e-02, 6.1143e-05, 1.3983e-06], + [6.6103e-02, 4.8033e-05, 1.1343e-06], + [6.9408e-02, 4.1379e-05, 1.0006e-06], + [7.2878e-02, 3.5090e-05, 8.6919e-07], + [7.6522e-02, 3.0350e-05, 7.5890e-07], + [8.0348e-02, 2.4115e-05, 6.5226e-07], + [8.4365e-02, 2.0755e-05, 5.7445e-07], + [8.8584e-02, 1.7500e-05, 4.9617e-07], + [9.3013e-02, 1.5011e-05, 4.3754e-07], + [9.7664e-02, 1.3632e-05, 3.9907e-07], + [1.0255e-01, 1.2997e-05, 3.7469e-07], + [1.0767e-01, 1.1656e-05, 3.4282e-07], + [1.1306e-01, 1.0820e-05, 3.2299e-07], + [1.1871e-01, 9.5831e-06, 3.0088e-07], + [1.2465e-01, 8.9996e-06, 2.8102e-07], + [1.3088e-01, 8.6498e-06, 2.7363e-07], + [1.3742e-01, 7.9412e-06, 2.7158e-07], + [1.4429e-01, 7.4042e-06, 2.6829e-07], + [1.5151e-01, 6.8321e-06, 2.6877e-07], + [1.5908e-01, 5.6809e-06, 2.6232e-07], + [1.6704e-01, 5.6646e-06, 2.8607e-07], + [1.7539e-01, 4.7762e-06, 2.7767e-07], + [1.8416e-01, 4.1971e-06, 2.7353e-07], + [1.9337e-01, 4.1815e-06, 2.9140e-07], + [2.0304e-01, 3.2725e-06, 2.3160e-07], + [2.1319e-01, 2.3244e-06, 4.2270e-07], + [2.2385e-01, 2.2892e-06, 1.4970e-07], + [2.3504e-01, 1.9198e-06, 8.1460e-07], + [2.4679e-01, 1.4828e-06, 1.0840e-07], + [2.5913e-01, 1.1450e-06, 4.7440e-07], + [2.7209e-01, 1.3047e-06, 1.8840e-07], + [2.8569e-01, 9.6081e-07, 3.9385e-07], + [2.9998e-01, 8.2280e-07, 2.3955e-07], + [3.1497e-01, 6.3219e-07, 3.5324e-07], + [3.3072e-01, 6.1254e-07, 5.0846e-07], + [3.4726e-01, 7.4092e-07, 2.2312e-07], + [3.6462e-01, 6.3584e-07, 4.2866e-07], + [3.8285e-01, 7.7287e-07, 2.9493e-07], + [4.0200e-01, 9.4637e-07, 2.3347e-07], + [4.2210e-01, 7.0576e-07, 3.3494e-07], + [4.4320e-01, 7.8969e-07, 2.3371e-07], + [4.6536e-01, 5.8374e-07, 3.2624e-07], + [4.8863e-01, 5.6711e-07, 6.0419e-07], + [5.1306e-01, 4.7782e-07, 3.4822e-07], + [5.3871e-01, 6.3813e-07, 4.3279e-07], + [5.6565e-01, 4.6186e-07, 1.8863e-07], + [5.8877e-01, 5.6129e-07, 4.3960e-07], + ] + ), + data_range=[0.051793, 0.58877], + simulation_range=[0.051793, 0.58877], + ), + RATapi.models.Data( + name="d13acmw20", + data=np.array( + [ + [5.1793e-02, 1.8087e-05, 7.9683e-07], + [5.4383e-02, 1.4582e-05, 6.3691e-07], + [5.7102e-02, 1.3621e-05, 5.5407e-07], + [5.9957e-02, 1.2409e-05, 4.8014e-07], + [6.2955e-02, 1.0992e-05, 4.1824e-07], + [6.6103e-02, 1.0619e-05, 3.7541e-07], + [6.9408e-02, 1.0162e-05, 3.4945e-07], + [7.2878e-02, 1.0716e-05, 3.3763e-07], + [7.6522e-02, 8.3468e-06, 2.8040e-07], + [8.0348e-02, 7.5250e-06, 2.5702e-07], + [8.4365e-02, 6.4395e-06, 2.2528e-07], + [8.8584e-02, 6.0544e-06, 2.0545e-07], + [9.3013e-02, 5.9517e-06, 1.9417e-07], + [9.7664e-02, 5.6433e-06, 1.8108e-07], + [1.0255e-01, 4.8172e-06, 1.6076e-07], + [1.0767e-01, 4.8066e-06, 1.5520e-07], + [1.1306e-01, 4.1559e-06, 1.4115e-07], + [1.1871e-01, 4.1418e-06, 1.3926e-07], + [1.2465e-01, 3.4580e-06, 1.2273e-07], + [1.3088e-01, 3.2376e-06, 1.1791e-07], + [1.3742e-01, 3.0976e-06, 1.1948e-07], + [1.4429e-01, 2.7478e-06, 1.1518e-07], + [1.5151e-01, 2.5492e-06, 1.1573e-07], + [1.5908e-01, 2.7500e-06, 1.2812e-07], + [1.6704e-01, 2.1813e-06, 2.0450e-07], + [1.7539e-01, 1.8609e-06, 5.4900e-07], + [1.8416e-01, 1.9405e-06, 1.5660e-07], + [1.9337e-01, 1.7421e-06, 2.3280e-07], + [2.0304e-01, 1.8050e-06, 3.9820e-07], + [2.1319e-01, 1.5801e-06, 1.4110e-07], + [2.2385e-01, 1.6724e-06, 7.7900e-08], + [2.3504e-01, 1.4150e-06, 4.0820e-07], + [2.4679e-01, 1.4340e-06, 5.3180e-07], + [2.5913e-01, 1.3102e-06, 2.6000e-07], + [2.7209e-01, 1.3702e-06, 2.8540e-07], + [2.8569e-01, 1.2468e-06, 2.3230e-07], + [2.9998e-01, 1.2956e-06, 5.3240e-07], + [3.1497e-01, 1.2947e-06, 3.9940e-07], + [3.3072e-01, 1.2488e-06, 2.1390e-07], + [3.4726e-01, 1.4620e-06, 3.3640e-07], + [3.6462e-01, 1.3056e-06, 2.1600e-07], + [3.8285e-01, 1.4553e-06, 2.3170e-07], + [4.0200e-01, 1.1579e-06, 2.6740e-07], + [4.2210e-01, 1.1753e-06, 3.0940e-07], + [4.4320e-01, 1.0066e-06, 5.2040e-07], + [4.6536e-01, 1.1043e-06, 3.1870e-07], + [4.8863e-01, 1.2969e-06, 4.1670e-07], + [5.1306e-01, 1.2495e-06, 2.0890e-07], + [5.3871e-01, 1.3898e-06, 4.7560e-07], + [5.6565e-01, 1.1225e-06, 3.0470e-07], + [5.8877e-01, 8.3346e-07, 3.8944e-07], + ] + ), + data_range=[0.051793, 0.58877], + simulation_range=[0.051793, 0.58877], + ), + RATapi.models.Data( + name="d13d2o20", + data=np.array( + [ + [5.1793e-02, 2.2464e-04, 3.4007e-06], + [5.4383e-02, 1.8531e-04, 2.7523e-06], + [5.7102e-02, 1.5463e-04, 2.2639e-06], + [5.9957e-02, 1.2459e-04, 1.8443e-06], + [6.2955e-02, 1.0332e-04, 1.5526e-06], + [6.6103e-02, 8.3207e-05, 1.2736e-06], + [6.9408e-02, 6.6859e-05, 1.0850e-06], + [7.2878e-02, 5.5540e-05, 9.3212e-07], + [7.6522e-02, 4.6869e-05, 8.0410e-07], + [8.0348e-02, 3.6672e-05, 6.8717e-07], + [8.4365e-02, 3.0955e-05, 5.9837e-07], + [8.8584e-02, 2.4781e-05, 5.0395e-07], + [9.3013e-02, 2.0163e-05, 4.3266e-07], + [9.7664e-02, 1.7194e-05, 3.8276e-07], + [1.0255e-01, 1.3801e-05, 3.2953e-07], + [1.0767e-01, 1.0868e-05, 2.8268e-07], + [1.1306e-01, 8.9118e-06, 2.5019e-07], + [1.1871e-01, 8.2266e-06, 2.3789e-07], + [1.2465e-01, 6.7891e-06, 2.0822e-07], + [1.3088e-01, 5.5048e-06, 1.8610e-07], + [1.3742e-01, 4.3011e-06, 1.7064e-07], + [1.4429e-01, 3.7549e-06, 1.6291e-07], + [1.5151e-01, 3.0281e-06, 1.5298e-07], + [1.5908e-01, 2.7102e-06, 1.5371e-07], + [1.6704e-01, 1.9817e-06, 5.2560e-07], + [1.7539e-01, 1.8156e-06, 6.2930e-07], + [1.8416e-01, 1.6126e-06, 1.0180e-07], + [1.9337e-01, 1.5010e-06, 2.6400e-07], + [2.0304e-01, 1.3504e-06, 3.6310e-07], + [2.1319e-01, 1.0658e-06, 6.1751e-07], + [2.2385e-01, 1.0028e-06, 2.4871e-07], + [2.3504e-01, 9.1701e-07, 2.3499e-07], + [2.4679e-01, 7.5092e-07, 2.4518e-07], + [2.5913e-01, 1.0126e-06, 1.6429e-07], + [2.7209e-01, 7.5725e-07, 4.1481e-07], + [2.8569e-01, 6.2167e-07, 3.5735e-07], + [2.9998e-01, 7.0777e-07, 2.0772e-07], + [3.1497e-01, 8.5576e-07, 1.6916e-07], + [3.3072e-01, 8.4284e-07, 2.2151e-07], + [3.4726e-01, 4.4441e-07, 3.2246e-07], + [3.6462e-01, 6.6378e-07, 2.3675e-07], + [3.8285e-01, 7.1382e-07, 3.7039e-07], + [4.0200e-01, 5.6163e-07, 4.4157e-07], + [4.2210e-01, 5.9761e-07, 3.4927e-07], + [4.4320e-01, 4.9182e-07, 3.5155e-07], + [4.6536e-01, 5.6609e-07, 2.3558e-07], + [4.8863e-01, 5.3547e-07, 1.7267e-07], + [5.1306e-01, 4.7647e-07, 5.4127e-07], + [5.3871e-01, 3.8841e-07, 2.9179e-07], + [5.6565e-01, 4.7749e-07, 8.6240e-08], + [5.8877e-01, 4.6278e-07, 2.3214e-07], + ] + ), + data_range=[0.051793, 0.58877], + simulation_range=[0.051793, 0.58877], + ), + RATapi.models.Data( + name="d83acmw20", + data=np.array( + [ + [5.1793e-02, 3.1675e-04, 4.7735e-06], + [5.4383e-02, 2.7591e-04, 3.9806e-06], + [5.7102e-02, 2.4370e-04, 3.3680e-06], + [5.9957e-02, 2.1836e-04, 2.8915e-06], + [6.2955e-02, 1.9492e-04, 2.5226e-06], + [6.6103e-02, 1.7128e-04, 2.1638e-06], + [6.9408e-02, 1.5381e-04, 1.9499e-06], + [7.2878e-02, 1.3398e-04, 1.7140e-06], + [7.6522e-02, 1.1643e-04, 1.5011e-06], + [8.0348e-02, 9.7386e-05, 1.3256e-06], + [8.4365e-02, 8.5091e-05, 1.1744e-06], + [8.8584e-02, 7.2996e-05, 1.0224e-06], + [9.3013e-02, 6.0693e-05, 8.8816e-07], + [9.7664e-02, 5.1967e-05, 7.8767e-07], + [1.0255e-01, 4.3371e-05, 6.9118e-07], + [1.0767e-01, 3.6363e-05, 6.1123e-07], + [1.1306e-01, 2.9948e-05, 5.4231e-07], + [1.1871e-01, 2.5863e-05, 4.9879e-07], + [1.2465e-01, 2.1196e-05, 4.3527e-07], + [1.3088e-01, 1.7278e-05, 3.8999e-07], + [1.3742e-01, 1.3647e-05, 3.5922e-07], + [1.4429e-01, 1.0898e-05, 3.2810e-07], + [1.5151e-01, 8.3399e-06, 2.9972e-07], + [1.5908e-01, 6.7776e-06, 2.8761e-07], + [1.6704e-01, 5.8668e-06, 2.9311e-07], + [1.7539e-01, 4.1380e-06, 2.6133e-07], + [1.8416e-01, 2.7663e-06, 2.2329e-07], + [1.9337e-01, 2.3200e-06, 2.1903e-07], + [2.0304e-01, 1.9127e-06, 5.6910e-07], + [2.1319e-01, 1.7434e-06, 1.2640e-07], + [2.2385e-01, 1.7550e-06, 1.9990e-07], + [2.3504e-01, 1.4527e-06, 3.8840e-07], + [2.4679e-01, 1.1333e-06, 5.9440e-07], + [2.5913e-01, 1.1667e-06, 5.7100e-07], + [2.7209e-01, 1.3539e-06, 2.1560e-07], + [2.8569e-01, 1.5357e-06, 3.5990e-07], + [2.9998e-01, 9.0768e-07, 8.9822e-07], + [3.1497e-01, 1.2821e-06, 3.1450e-07], + [3.3072e-01, 1.2360e-06, 4.1700e-07], + [3.4726e-01, 9.6932e-07, 4.5458e-07], + [3.6462e-01, 1.4644e-06, 4.7300e-07], + [3.8285e-01, 1.2330e-06, 3.4780e-07], + [4.0200e-01, 1.3783e-06, 4.5143e-07], + [4.2210e-01, 1.2637e-06, 2.4980e-07], + [4.4320e-01, 1.1299e-06, 1.9310e-07], + [4.6536e-01, 1.1748e-06, 4.3340e-07], + [4.8863e-01, 1.2029e-06, 1.4040e-07], + [5.1306e-01, 9.9648e-07, 6.1262e-07], + [5.3871e-01, 9.4235e-07, 6.9825e-07], + [5.6565e-01, 1.2561e-06, 4.5650e-07], + [5.8877e-01, 1.0005e-06, 1.1520e-07], + ] + ), + data_range=[0.051793, 0.58877], + simulation_range=[0.051793, 0.58877], + ), + RATapi.models.Data( + name="d83d2o20", + data=np.array( + [ + [5.1793e-02, 2.3497e-04, 4.1366e-06], + [5.4383e-02, 1.9138e-04, 3.3298e-06], + [5.7102e-02, 1.6092e-04, 2.7523e-06], + [5.9957e-02, 1.3177e-04, 2.2579e-06], + [6.2955e-02, 1.0694e-04, 1.8785e-06], + [6.6103e-02, 9.0449e-05, 1.5805e-06], + [6.9408e-02, 7.2115e-05, 1.3407e-06], + [7.2878e-02, 5.9602e-05, 1.1494e-06], + [7.6522e-02, 4.9097e-05, 9.7903e-07], + [8.0348e-02, 4.1264e-05, 8.6633e-07], + [8.4365e-02, 3.2611e-05, 7.3101e-07], + [8.8584e-02, 2.7676e-05, 6.3311e-07], + [9.3013e-02, 2.2224e-05, 5.4031e-07], + [9.7664e-02, 1.9035e-05, 4.7882e-07], + [1.0255e-01, 1.5324e-05, 4.1267e-07], + [1.0767e-01, 1.3008e-05, 3.6731e-07], + [1.1306e-01, 1.0121e-05, 3.1672e-07], + [1.1871e-01, 9.3837e-06, 3.0201e-07], + [1.2465e-01, 7.4003e-06, 2.5840e-07], + [1.3088e-01, 6.6417e-06, 2.4288e-07], + [1.3742e-01, 5.5185e-06, 2.2950e-07], + [1.4429e-01, 4.6301e-06, 2.1511e-07], + [1.5151e-01, 3.8179e-06, 2.0421e-07], + [1.5908e-01, 3.6504e-06, 2.1327e-07], + [1.6704e-01, 3.3693e-06, 5.8910e-07], + [1.7539e-01, 2.9089e-06, 6.0910e-07], + [1.8416e-01, 2.0826e-06, 8.8760e-07], + [1.9337e-01, 1.8413e-06, 2.0110e-07], + [2.0304e-01, 1.7280e-06, 4.2860e-07], + [2.1319e-01, 2.0794e-06, 4.5100e-07], + [2.2385e-01, 1.2345e-06, 4.2410e-07], + [2.3504e-01, 1.3707e-06, 2.7770e-07], + [2.4679e-01, 1.2666e-06, 9.8800e-08], + [2.5913e-01, 1.1391e-06, 6.9332e-07], + [2.7209e-01, 1.1299e-06, 2.1680e-07], + [2.8569e-01, 8.4537e-07, 5.3956e-07], + [2.9998e-01, 6.8579e-07, 4.6611e-07], + [3.1497e-01, 8.3948e-07, 3.2138e-07], + [3.3072e-01, 8.8276e-07, 4.6705e-07], + [3.4726e-01, 7.8563e-07, 6.4686e-07], + [3.6462e-01, 6.8788e-07, 3.9930e-07], + [3.8285e-01, 6.1412e-07, 1.8886e-07], + [4.0200e-01, 6.8538e-07, 4.0952e-07], + [4.2210e-01, 5.8111e-07, 5.0615e-07], + [4.4320e-01, 5.4626e-07, 2.3667e-07], + [4.6536e-01, 6.5234e-07, 4.2512e-07], + [4.8863e-01, 3.6587e-07, 4.3870e-07], + [5.1306e-01, 4.1699e-07, 1.9893e-07], + [5.3871e-01, 4.9769e-07, 2.1907e-07], + [5.6565e-01, 3.7836e-07, 3.9193e-07], + [5.8877e-01, 4.2082e-07, 3.5255e-07], + ] + ), + data_range=[0.051793, 0.58877], + simulation_range=[0.051793, 0.58877], + ), + RATapi.models.Data( + name="hd2o20", + data=np.array( + [ + [5.1793e-02, 2.1311e-04, 3.8170e-06], + [5.4383e-02, 1.7454e-04, 3.0814e-06], + [5.7102e-02, 1.4351e-04, 2.5155e-06], + [5.9957e-02, 1.1515e-04, 2.0424e-06], + [6.2955e-02, 9.0901e-05, 1.6762e-06], + [6.6103e-02, 7.4677e-05, 1.3909e-06], + [6.9408e-02, 6.1965e-05, 1.2044e-06], + [7.2878e-02, 4.9933e-05, 1.0186e-06], + [7.6522e-02, 4.1322e-05, 8.7025e-07], + [8.0348e-02, 3.2145e-05, 7.4114e-07], + [8.4365e-02, 2.6927e-05, 6.4343e-07], + [8.8584e-02, 2.0970e-05, 5.3415e-07], + [9.3013e-02, 1.6109e-05, 4.4582e-07], + [9.7664e-02, 1.2974e-05, 3.8305e-07], + [1.0255e-01, 1.0411e-05, 3.2993e-07], + [1.0767e-01, 7.7586e-06, 2.7512e-07], + [1.1306e-01, 6.8947e-06, 2.5357e-07], + [1.1871e-01, 5.5102e-06, 2.2445e-07], + [1.2465e-01, 4.3486e-06, 1.9200e-07], + [1.3088e-01, 3.3433e-06, 1.6724e-07], + [1.3742e-01, 2.7268e-06, 1.5634e-07], + [1.4429e-01, 2.2001e-06, 1.4377e-07], + [1.5151e-01, 1.8064e-06, 1.3591e-07], + [1.5908e-01, 1.4947e-06, 1.3214e-07], + [1.6704e-01, 1.5335e-06, 3.9200e-07], + [1.7539e-01, 1.0430e-06, 8.5200e-08], + [1.8416e-01, 1.0070e-06, 3.9617e-07], + [1.9337e-01, 7.5452e-07, 1.7785e-07], + [2.0304e-01, 6.9356e-07, 2.8065e-07], + [2.1319e-01, 5.9018e-07, 4.0612e-07], + [2.2385e-01, 7.0286e-07, 3.4384e-07], + [2.3504e-01, 6.0890e-07, 2.8376e-07], + [2.4679e-01, 8.0600e-07, 2.2092e-07], + [2.5913e-01, 7.9177e-07, 3.4918e-07], + [2.7209e-01, 8.5193e-07, 3.3083e-07], + [2.8569e-01, 8.1507e-07, 2.7682e-07], + [2.9998e-01, 7.1477e-07, 1.6790e-07], + [3.1497e-01, 6.1835e-07, 2.0612e-07], + [3.3072e-01, 5.7863e-07, 3.3869e-07], + [3.4726e-01, 4.0735e-07, 6.1275e-07], + [3.6462e-01, 8.2937e-07, 3.2510e-07], + [3.8285e-01, 7.5561e-07, 2.0851e-07], + [4.0200e-01, 6.6174e-07, 2.9566e-07], + [4.2210e-01, 5.6503e-07, 2.0503e-07], + [4.4320e-01, 6.5599e-07, 3.0025e-07], + [4.6536e-01, 4.8085e-07, 2.6812e-07], + [4.8863e-01, 4.1179e-07, 2.7538e-07], + [5.1306e-01, 6.0006e-07, 2.6417e-07], + [5.3871e-01, 6.3395e-07, 3.9303e-07], + [5.6565e-01, 6.3474e-07, 2.3217e-07], + [5.8877e-01, 3.3414e-07, 3.9170e-07], + ] + ), + data_range=[0.051793, 0.58877], + simulation_range=[0.051793, 0.58877], + ), + ], + layers=[ + RATapi.models.Layer( + name="Deuterated tails", + thickness="Tails thick", + SLD="Deuterated tails SLD", + roughness="Tails roughness", + hydration="", + hydrate_with="bulk out", + ), + RATapi.models.Layer( + name="Hydrogenated tails", + thickness="Tails thick", + SLD="Hydrogenated tails SLD", + roughness="Tails roughness", + hydration="", + hydrate_with="bulk out", + ), + RATapi.models.Layer( + name="Deuterated heads", + thickness="Head thickness", + SLD="Deuterated head SLD", + roughness="Head roughness", + hydration="Head hydration", + hydrate_with="bulk out", + ), + RATapi.models.Layer( + name="Hydrogenated heads", + thickness="Head thickness", + SLD="Hydrogenated head SLD", + roughness="Head roughness", + hydration="Head hydration", + hydrate_with="bulk out", + ), + ], + domain_contrasts=[], + contrasts=[ + RATapi.models.Contrast( + name="d70, acmw", + data="d70acmw20", + background="Background ACMW", + background_action="add", + bulk_in="Air", + bulk_out="ACMW", + scalefactor="Scalefactor 1", + resolution="Resolution 1", + resample=False, + model=["Deuterated tails", "Hydrogenated heads"], + ), + RATapi.models.Contrast( + name="d70 d2o", + data="d70d2o20", + background="Background D2O", + background_action="add", + bulk_in="Air", + bulk_out="D2O", + scalefactor="Scalefactor 1", + resolution="Resolution 1", + resample=False, + model=["Deuterated tails", "Hydrogenated heads"], + ), + RATapi.models.Contrast( + name="d13 acmw", + data="d13acmw20", + background="Background ACMW", + background_action="add", + bulk_in="Air", + bulk_out="ACMW", + scalefactor="Scalefactor 1", + resolution="Resolution 1", + resample=False, + model=["Hydrogenated tails", "Deuterated heads"], + ), + RATapi.models.Contrast( + name="d13 d2o", + data="d13d2o20", + background="Background D2O", + background_action="add", + bulk_in="Air", + bulk_out="D2O", + scalefactor="Scalefactor 1", + resolution="Resolution 1", + resample=False, + model=["Hydrogenated tails", "Deuterated heads"], + ), + RATapi.models.Contrast( + name="d83 acmw", + data="d83acmw20", + background="Background ACMW", + background_action="add", + bulk_in="Air", + bulk_out="ACMW", + scalefactor="Scalefactor 1", + resolution="Resolution 1", + resample=False, + model=["Deuterated tails", "Deuterated heads"], + ), + RATapi.models.Contrast( + name="d83 d2o", + data="d83d2o20", + background="Background D2O", + background_action="add", + bulk_in="Air", + bulk_out="D2O", + scalefactor="Scalefactor 1", + resolution="Resolution 1", + resample=False, + model=["Deuterated tails", "Deuterated heads"], + ), + RATapi.models.Contrast( + name="fully h, D2O", + data="hd2o20", + background="Background D2O", + background_action="add", + bulk_in="Air", + bulk_out="D2O", + scalefactor="Scalefactor 1", + resolution="Resolution 1", + resample=False, + model=["Hydrogenated tails", "Hydrogenated heads"], + ), + ], + ) + + +@pytest.fixture +def r1_orso_polymer(): + """The project equivalent of the RasCAL-1 ORSO Polymer example.""" + # the test data is BIG (400 lines) so it's easier to just load it in + orso_poly_data = np.loadtxt(Path(__file__).parent / "test_data/orso_poly.dat") + + return RATapi.Project( + name="orsoPolymerExample", + calculation="non polarised", + model="standard layers", + geometry="air/substrate", + absorption=False, + parameters=[ + RATapi.models.ProtectedParameter( + name="Substrate Roughness", + min=3.0, + value=4.844363132849221, + max=8.0, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ) + ], + bulk_in=[ + RATapi.models.Parameter( + name="Air", + min=0.0, + value=0.0, + max=0.0, + fit=False, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ) + ], + bulk_out=[ + RATapi.models.Parameter( + name="D2O", + min=6.3e-06, + value=6.35e-06, + max=6.4e-06, + fit=False, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ) + ], + scalefactors=[ + RATapi.models.Parameter( + name="Scalefactor 1", + min=0.05, + value=0.10141560336360426, + max=0.3, + fit=False, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ) + ], + domain_ratios=[], + background_parameters=[ + RATapi.models.Parameter( + name="Background parameter 1", + min=5e-08, + value=3.069003361230152e-06, + max=7e-06, + fit=False, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ) + ], + backgrounds=[ + RATapi.models.Background( + name="Background 1", + type="constant", + value_1="Background parameter 1", + value_2="", + value_3="", + value_4="", + value_5="", + ) + ], + resolution_parameters=[ + RATapi.models.Parameter( + name="Resolution parameter 1", + min=0.01, + value=0.03, + max=0.05, + fit=False, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ) + ], + resolutions=[ + RATapi.models.Resolution( + name="Resolution 1", + type="constant", + value_1="Resolution parameter 1", + value_2="", + value_3="", + value_4="", + value_5="", + ) + ], + custom_files=[], + data=[ + RATapi.models.Data( + name="polymerData", + data=orso_poly_data, + data_range=[0.0080602, 0.46555], + simulation_range=[0.0080602, 0.46555], + ) + ], + layers=[], + domain_contrasts=[], + contrasts=[ + RATapi.models.Contrast( + name="Chain-d, acmw", + data="polymerData", + background="Background 1", + background_action="add", + bulk_in="Air", + bulk_out="D2O", + scalefactor="Scalefactor 1", + resolution="Resolution 1", + resample=False, + model=[], + ) + ], + ) + + +@pytest.fixture +def r1_motofit_bench_mark(): + """The project from the R1motofitBenchMark RasCAL-1 project file.""" + moto_data = np.loadtxt(Path(__file__).parent / "test_data/moto.dat") + + return RATapi.Project( + name="motofitBenchMark", + calculation="non polarised", + model="standard layers", + geometry="air/substrate", + absorption=False, + parameters=[ + RATapi.models.ProtectedParameter( + name="Substrate Roughness", + min=1.0, + value=3.0, + max=5.0, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="sub rough", + min=3.0, + value=3.9949146424129665, + max=8.0, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="Thick", + min=0.0, + value=33.2791896400743, + max=100.0, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="SLD 1", + min=0.0, + value=1.074484187182878e-06, + max=5e-06, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="SLD 2", + min=9e-06, + value=1.0658506835478824e-05, + max=1.2e-05, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="Thick2", + min=100.0, + value=498.6676783112137, + max=1000.0, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="Rough 1", + min=2.0, + value=4.563688983733924, + max=7.0, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + RATapi.models.Parameter( + name="Rough 2", + min=2.0, + value=4.410704485333302, + max=7.0, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ), + ], + bulk_in=[ + RATapi.models.Parameter( + name="Air", + min=0.0, + value=0.0, + max=0.0, + fit=False, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ) + ], + bulk_out=[ + RATapi.models.Parameter( + name="D2O", + min=2e-05, + value=2.01e-05, + max=2.2e-05, + fit=False, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ) + ], + scalefactors=[ + RATapi.models.Parameter( + name="Scalefactor 1", + min=0.99, + value=0.9999894027309877, + max=1.01, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ) + ], + domain_ratios=[], + background_parameters=[ + RATapi.models.Parameter( + name="Background parameter 1", + min=5e-08, + value=1.306895319301746e-07, + max=1e-06, + fit=True, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ) + ], + backgrounds=[ + RATapi.models.Background( + name="Background 1", + type="constant", + value_1="Background parameter 1", + value_2="", + value_3="", + value_4="", + value_5="", + ) + ], + resolution_parameters=[ + RATapi.models.Parameter( + name="Resolution parameter 1", + min=0.0, + value=0.0, + max=0.05, + fit=False, + prior_type="uniform", + mu=0.0, + sigma=np.inf, + ) + ], + resolutions=[ + RATapi.models.Resolution( + name="Resolution 1", + type="constant", + value_1="Resolution parameter 1", + value_2="", + value_3="", + value_4="", + value_5="", + ) + ], + custom_files=[], + data=[ + RATapi.models.Data( + name="mFitBench", + data=moto_data, + data_range=[0.02, 0.59188], + simulation_range=[0.02, 0.59188], + ) + ], + layers=[ + RATapi.models.Layer( + name="New Layer 0", + thickness="Thick", + SLD="SLD 1", + roughness="Rough 1", + hydration="", + hydrate_with="bulk out", + ), + RATapi.models.Layer( + name="New Layer 1", + thickness="Thick2", + SLD="SLD 2", + roughness="Rough 2", + hydration="", + hydrate_with="bulk out", + ), + ], + domain_contrasts=[], + contrasts=[ + RATapi.models.Contrast( + name="Chain-d, acmw", + data="mFitBench", + background="Background 1", + background_action="add", + bulk_in="Air", + bulk_out="D2O", + scalefactor="Scalefactor 1", + resolution="Resolution 1", + resample=False, + model=["New Layer 0"], + ) + ], + ) + + @pytest.fixture def dspc_standard_layers(): """The project from the DSPC Standard Layers example.""" diff --git a/tests/test_convert.py b/tests/test_convert.py index 72934d50..3e4690c6 100644 --- a/tests/test_convert.py +++ b/tests/test_convert.py @@ -51,6 +51,9 @@ def dspc_bilayer(): ["R1defaultProject.mat", "r1_default_project"], ["R1monolayerVolumeModel.mat", "r1_monolayer"], ["R1DSPCBilayer.mat", "dspc_bilayer"], + ["R1Monolayer_8_contrasts.mat", "r1_monolayer_8_contrasts"], + ["R1orsoPolymerExample.mat", "r1_orso_polymer"], + ["R1motofitBenchMark.mat", "r1_motofit_bench_mark"], ], ) def test_r1_to_project_class(file, project, request): @@ -69,6 +72,9 @@ def test_r1_to_project_class(file, project, request): [ "r1_default_project", "r1_monolayer", + "r1_monolayer_8_contrasts", + "r1_orso_polymer", + "r1_motofit_bench_mark", "dspc_bilayer", ], ) @@ -96,6 +102,9 @@ def mock_load(ignored_filename, **ignored_settings): [ "r1_default_project", "r1_monolayer", + "r1_monolayer_8_contrasts", + "r1_orso_polymer", + "r1_motofit_bench_mark", "dspc_bilayer", "dspc_standard_layers", "dspc_custom_layers", diff --git a/tests/test_data/R1Monolayer_8_contrasts.mat b/tests/test_data/R1Monolayer_8_contrasts.mat new file mode 100644 index 00000000..da9de417 Binary files /dev/null and b/tests/test_data/R1Monolayer_8_contrasts.mat differ diff --git a/tests/test_data/R1motofitBenchMark.mat b/tests/test_data/R1motofitBenchMark.mat new file mode 100644 index 00000000..449362a5 Binary files /dev/null and b/tests/test_data/R1motofitBenchMark.mat differ diff --git a/tests/test_data/R1orsoPolymerExample.mat b/tests/test_data/R1orsoPolymerExample.mat new file mode 100644 index 00000000..48bc10f6 Binary files /dev/null and b/tests/test_data/R1orsoPolymerExample.mat differ diff --git a/tests/test_data/moto.dat b/tests/test_data/moto.dat new file mode 100644 index 00000000..bacdb1ea --- /dev/null +++ b/tests/test_data/moto.dat @@ -0,0 +1,400 @@ +2.000000000000000042e-02 9.999599999999999600e-01 9.999800000000000041e-05 +2.143300000000000066e-02 1.000199999999999978e+00 1.000099999999999996e-04 +2.286699999999999844e-02 9.998500000000000165e-01 9.999200000000000080e-05 +2.429999999999999868e-02 9.999400000000000510e-01 9.999699999999999821e-05 +2.573299999999999893e-02 1.000099999999999989e+00 1.000000000000000048e-04 +2.716599999999999918e-02 9.998799999999999910e-01 9.999400000000000519e-05 +2.860000000000000042e-02 9.999900000000000455e-01 9.999900000000000260e-05 +3.003300000000000067e-02 9.999299999999999855e-01 9.999599999999999602e-05 +3.146600000000000091e-02 9.998899999999999455e-01 9.999400000000000519e-05 +3.289999999999999869e-02 3.114100000000000201e-01 5.580400000000000307e-05 +3.433300000000000241e-02 1.969499999999999862e-01 4.437900000000000319e-05 +3.576599999999999918e-02 1.030900000000000011e-01 3.210700000000000278e-05 +3.719999999999999696e-02 3.366899999999999754e-02 1.834899999999999999e-05 +3.863300000000000067e-02 5.127699999999999793e-03 7.160800000000000117e-06 +4.006599999999999745e-02 8.905400000000000815e-03 9.436899999999999382e-06 +4.149900000000000116e-02 2.294799999999999965e-02 1.514900000000000014e-05 +4.293299999999999894e-02 3.121600000000000069e-02 1.766800000000000092e-05 +4.436600000000000266e-02 2.888500000000000095e-02 1.699600000000000126e-05 +4.579899999999999943e-02 1.918999999999999873e-02 1.385299999999999933e-05 +4.723299999999999721e-02 8.333600000000000035e-03 9.128899999999999959e-06 +4.866600000000000092e-02 1.518000000000000035e-03 3.896200000000000067e-06 +5.009899999999999770e-02 4.664700000000000248e-04 2.159800000000000057e-06 +5.153200000000000142e-02 3.377900000000000087e-03 5.811999999999999580e-06 +5.296599999999999919e-02 7.010100000000000012e-03 8.372600000000000102e-06 +5.439900000000000291e-02 8.816299999999999137e-03 9.389500000000000480e-06 +5.583199999999999968e-02 7.962399999999999686e-03 8.923199999999999540e-06 +5.726599999999999746e-02 5.249099999999999600e-03 7.245100000000000310e-06 +5.869900000000000118e-02 2.273400000000000074e-03 4.767999999999999920e-06 +6.013199999999999795e-02 3.864399999999999931e-04 1.965799999999999881e-06 +6.156600000000000267e-02 1.337800000000000100e-04 1.156600000000000073e-06 +6.299899999999999944e-02 1.111199999999999905e-03 3.333400000000000137e-06 +6.443200000000000316e-02 2.436600000000000137e-03 4.936200000000000274e-06 +6.586500000000000687e-02 3.236399999999999954e-03 5.688899999999999861e-06 +6.729899999999999771e-02 3.133500000000000001e-03 5.597699999999999786e-06 +6.873200000000000143e-02 2.268200000000000164e-03 4.762499999999999718e-06 +7.016500000000000514e-02 1.132900000000000053e-03 3.365800000000000030e-06 +7.159899999999999598e-02 2.832499999999999732e-04 1.683000000000000022e-06 +7.303199999999999970e-02 1.961999999999999850e-05 4.429400000000000210e-07 +7.446500000000000341e-02 3.102399999999999841e-04 1.761399999999999983e-06 +7.589899999999999425e-02 8.720800000000000123e-04 2.953100000000000152e-06 +7.733199999999999796e-02 1.345499999999999908e-03 3.668100000000000083e-06 +7.876500000000000168e-02 1.461800000000000078e-03 3.823300000000000308e-06 +8.019800000000000539e-02 1.217100000000000039e-03 3.488700000000000157e-06 +8.163199999999999623e-02 7.391700000000000397e-04 2.718800000000000126e-06 +8.306499999999999995e-02 2.771000000000000134e-04 1.664599999999999910e-06 +8.449800000000000366e-02 2.859499999999999981e-05 5.347000000000000432e-07 +8.593199999999999450e-02 5.878500000000000045e-05 7.666799999999999804e-07 +8.736499999999999821e-02 2.926000000000000107e-04 1.710599999999999978e-06 +8.879800000000000193e-02 5.642299999999999833e-04 2.375400000000000161e-06 +9.023100000000000565e-02 7.333899999999999968e-04 2.708099999999999957e-06 +9.166499999999999648e-02 7.032800000000000292e-04 2.651899999999999970e-06 +9.309800000000000020e-02 5.188299999999999640e-04 2.277800000000000028e-06 +9.453100000000000391e-02 2.686100000000000185e-04 1.638900000000000097e-06 +9.596499999999999475e-02 7.123199999999999834e-05 8.439799999999999645e-07 +9.739799999999999847e-02 4.900099999999999892e-06 2.213599999999999916e-07 +9.883100000000000218e-02 7.526500000000000529e-05 8.675800000000000435e-07 +1.002600000000000019e-01 2.236399999999999933e-04 1.495499999999999912e-06 +1.016999999999999987e-01 3.596000000000000130e-04 1.896299999999999954e-06 +1.031299999999999994e-01 4.167500000000000197e-04 2.041400000000000055e-06 +1.045600000000000002e-01 3.655099999999999886e-04 1.911800000000000059e-06 +1.059999999999999970e-01 2.410900000000000109e-04 1.552699999999999974e-06 +1.074299999999999977e-01 1.041799999999999953e-04 1.020700000000000028e-06 +1.088599999999999984e-01 1.688000000000000101e-05 4.108500000000000030e-07 +1.102999999999999953e-01 9.166900000000000273e-06 3.028200000000000077e-07 +1.117299999999999960e-01 7.323700000000000370e-05 8.558000000000000267e-07 +1.131599999999999967e-01 1.670800000000000063e-04 1.292599999999999915e-06 +1.145999999999999935e-01 2.342599999999999967e-04 1.530600000000000008e-06 +1.160299999999999943e-01 2.498700000000000183e-04 1.580699999999999960e-06 +1.174599999999999950e-01 2.000700000000000004e-04 1.414499999999999967e-06 +1.189000000000000057e-01 1.178000000000000038e-04 1.085400000000000018e-06 +1.203300000000000064e-01 4.043399999999999946e-05 6.358500000000000192e-07 +1.217599999999999932e-01 2.313200000000000146e-06 1.519899999999999998e-07 +1.232000000000000040e-01 1.488200000000000083e-05 3.857500000000000230e-07 +1.246300000000000047e-01 6.628099999999999780e-05 8.141300000000000513e-07 +1.260600000000000054e-01 1.229900000000000134e-04 1.109000000000000097e-06 +1.275000000000000022e-01 1.606099999999999954e-04 1.267299999999999920e-06 +1.289299999999999891e-01 1.550500000000000012e-04 1.245199999999999953e-06 +1.303600000000000037e-01 1.143000000000000000e-04 1.069100000000000064e-06 +1.318000000000000005e-01 5.900299999999999734e-05 7.681099999999999608e-07 +1.332299999999999873e-01 1.461000000000000073e-05 3.822300000000000021e-07 +1.346600000000000019e-01 5.125699999999999900e-07 7.141399999999999348e-08 +1.360999999999999988e-01 1.844700000000000143e-05 4.295300000000000088e-07 +1.375300000000000133e-01 5.764800000000000100e-05 7.592799999999999539e-07 +1.389600000000000002e-01 9.192999999999999566e-05 9.588000000000000358e-07 +1.403999999999999970e-01 1.091400000000000020e-04 1.044699999999999925e-06 +1.418300000000000116e-01 9.775500000000000172e-05 9.887399999999999982e-07 +1.432599999999999985e-01 6.527600000000000318e-05 8.079599999999999901e-07 +1.446999999999999953e-01 2.882299999999999831e-05 5.368400000000000346e-07 +1.461300000000000099e-01 4.040099999999999655e-06 2.010000000000000131e-07 +1.475599999999999967e-01 2.138600000000000158e-06 1.462899999999999951e-07 +1.489999999999999936e-01 2.075500000000000034e-05 4.556300000000000109e-07 +1.504300000000000082e-01 4.759300000000000325e-05 6.898600000000000112e-07 +1.518599999999999950e-01 6.952499999999999587e-05 8.338499999999999658e-07 +1.532999999999999918e-01 7.418100000000000009e-05 8.612799999999999937e-07 +1.547300000000000064e-01 6.195100000000000368e-05 7.870800000000000307e-07 +1.561599999999999933e-01 3.649500000000000210e-05 6.041499999999999670e-07 +1.575999999999999901e-01 1.217000000000000037e-05 3.488600000000000150e-07 +1.590300000000000047e-01 5.659999999999999596e-07 7.549800000000000543e-08 +1.604599999999999915e-01 5.112000000000000353e-06 2.260499999999999893e-07 +1.618999999999999884e-01 2.135600000000000017e-05 4.621700000000000152e-07 +1.633300000000000030e-01 4.103899999999999790e-05 6.406199999999999753e-07 +1.647599999999999898e-01 5.290800000000000234e-05 7.273899999999999509e-07 +1.661999999999999866e-01 4.904200000000000242e-05 7.002900000000000325e-07 +1.676300000000000012e-01 3.763099999999999936e-05 6.134300000000000077e-07 +1.690599999999999881e-01 1.891899999999999962e-05 4.349699999999999834e-07 +1.705000000000000127e-01 4.593799999999999961e-06 2.142399999999999914e-07 +1.719299999999999995e-01 2.185900000000000006e-07 4.690400000000000098e-08 +1.733599999999999863e-01 6.528100000000000229e-06 2.555400000000000237e-07 +1.748000000000000109e-01 1.911799999999999890e-05 4.372599999999999860e-07 +1.762299999999999978e-01 3.301699999999999915e-05 5.746299999999999515e-07 +1.776600000000000124e-01 3.653399999999999953e-05 6.043999999999999858e-07 +1.791000000000000092e-01 3.191599999999999732e-05 5.649799999999999676e-07 +1.805299999999999960e-01 2.190000000000000039e-05 4.679699999999999745e-07 +1.819600000000000106e-01 9.374399999999999557e-06 3.061000000000000212e-07 +1.834000000000000075e-01 1.398600000000000043e-06 1.183200000000000033e-07 +1.848299999999999943e-01 9.713900000000000711e-07 9.848900000000000266e-08 +1.862600000000000089e-01 7.569100000000000087e-06 2.751400000000000140e-07 +1.877000000000000057e-01 1.738800000000000022e-05 4.170099999999999999e-07 +1.891299999999999926e-01 2.432699999999999934e-05 4.932499999999999996e-07 +1.905600000000000072e-01 2.685400000000000073e-05 5.181699999999999872e-07 +1.920000000000000040e-01 2.062299999999999889e-05 4.540900000000000116e-07 +1.934299999999999908e-01 1.225100000000000010e-05 3.499999999999999842e-07 +1.948600000000000054e-01 4.253799999999999828e-06 2.061599999999999879e-07 +1.963000000000000023e-01 2.845600000000000017e-07 5.291500000000000101e-08 +1.977299999999999891e-01 1.850300000000000098e-06 1.360100000000000115e-07 +1.991600000000000037e-01 7.572300000000000328e-06 2.751400000000000140e-07 +2.006000000000000005e-01 1.419299999999999947e-05 3.766999999999999784e-07 +2.020299999999999874e-01 1.730800000000000098e-05 4.160500000000000230e-07 +2.034600000000000020e-01 1.686900000000000061e-05 4.107300000000000257e-07 +2.048999999999999988e-01 1.341799999999999926e-05 3.663300000000000252e-07 +2.063300000000000134e-01 6.591800000000000144e-06 2.567099999999999740e-07 +2.077600000000000002e-01 1.779100000000000042e-06 1.334200000000000128e-07 +2.091899999999999871e-01 2.154999999999999908e-07 4.690400000000000098e-08 +2.106300000000000117e-01 2.475000000000000020e-06 1.571600000000000123e-07 +2.120599999999999985e-01 6.593400000000000264e-06 2.567099999999999740e-07 +2.134900000000000131e-01 1.094300000000000009e-05 3.307599999999999786e-07 +2.149300000000000099e-01 1.274899999999999940e-05 3.570700000000000071e-07 +2.163599999999999968e-01 1.167999999999999998e-05 3.417600000000000110e-07 +2.177900000000000114e-01 7.430800000000000073e-06 2.725800000000000228e-07 +2.192300000000000082e-01 3.389800000000000139e-06 1.841200000000000102e-07 +2.206599999999999950e-01 6.721299999999999709e-07 8.185399999999999961e-08 +2.220900000000000096e-01 3.908300000000000129e-07 6.244999999999999342e-08 +2.235300000000000065e-01 2.378500000000000182e-06 1.542699999999999911e-07 +2.249599999999999933e-01 5.754199999999999897e-06 2.397900000000000051e-07 +2.263900000000000079e-01 8.293100000000000271e-06 2.879200000000000000e-07 +2.278300000000000047e-01 8.377099999999999805e-06 2.894800000000000219e-07 +2.292599999999999916e-01 7.302399999999999744e-06 2.701900000000000126e-07 +2.306900000000000062e-01 4.315199999999999783e-06 2.078499999999999984e-07 +2.321300000000000030e-01 1.769699999999999971e-06 1.330400000000000055e-07 +2.335599999999999898e-01 2.779000000000000201e-07 5.291500000000000101e-08 +2.349900000000000044e-01 5.284499999999999972e-07 7.280100000000000451e-08 +2.364300000000000013e-01 2.592399999999999947e-06 1.609299999999999991e-07 +2.378599999999999881e-01 4.344199999999999844e-06 2.083299999999999868e-07 +2.392900000000000027e-01 6.215399999999999818e-06 2.493999999999999965e-07 +2.407299999999999995e-01 6.025100000000000132e-06 2.455599999999999833e-07 +2.421599999999999864e-01 4.653500000000000423e-06 2.156399999999999907e-07 +2.435900000000000010e-01 2.756399999999999986e-06 1.661299999999999927e-07 +2.450299999999999978e-01 9.029900000000000145e-07 9.486799999999999955e-08 +2.464600000000000124e-01 2.107899999999999969e-07 4.582600000000000285e-08 +2.478899999999999992e-01 8.002999999999999863e-07 8.944300000000000226e-08 +2.493299999999999961e-01 2.008800000000000147e-06 1.417700000000000049e-07 +2.507599999999999829e-01 3.498199999999999812e-06 1.870800000000000050e-07 +2.521900000000000253e-01 4.081499999999999801e-06 2.019899999999999975e-07 +2.536300000000000221e-01 3.672999999999999816e-06 1.915699999999999876e-07 +2.550600000000000089e-01 3.029000000000000137e-06 1.740699999999999963e-07 +2.564899999999999958e-01 1.488600000000000029e-06 1.220700000000000071e-07 +2.579299999999999926e-01 5.013900000000000183e-07 7.071100000000000366e-08 +2.593599999999999794e-01 2.381100000000000060e-07 4.898999999999999730e-08 +2.607900000000000218e-01 8.394400000000000046e-07 9.165200000000000569e-08 +2.622300000000000186e-01 1.744599999999999992e-06 1.319099999999999947e-07 +2.636600000000000055e-01 2.846500000000000190e-06 1.688199999999999989e-07 +2.650899999999999923e-01 3.200399999999999885e-06 1.788900000000000090e-07 +2.665299999999999891e-01 2.711499999999999789e-06 1.646200000000000010e-07 +2.679599999999999760e-01 2.075699999999999879e-06 1.442200000000000037e-07 +2.693900000000000183e-01 9.190299999999999914e-07 9.591699999999999789e-08 +2.708300000000000152e-01 3.300500000000000206e-07 5.744599999999999705e-08 +2.722600000000000020e-01 2.427800000000000074e-07 4.898999999999999730e-08 +2.736899999999999888e-01 7.507300000000000527e-07 8.660299999999999800e-08 +2.751299999999999857e-01 1.289799999999999916e-06 1.135800000000000019e-07 +2.765599999999999725e-01 2.175799999999999988e-06 1.476500000000000019e-07 +2.779900000000000149e-01 2.173500000000000027e-06 1.473099999999999870e-07 +2.794300000000000117e-01 1.704299999999999928e-06 1.303800000000000068e-07 +2.808599999999999985e-01 1.293399999999999975e-06 1.135800000000000019e-07 +2.822899999999999854e-01 6.768399999999999648e-07 8.246200000000000082e-08 +2.837299999999999822e-01 2.092100000000000053e-07 4.582600000000000285e-08 +2.851600000000000246e-01 2.089899999999999940e-07 4.582600000000000285e-08 +2.865900000000000114e-01 7.006000000000000134e-07 8.366600000000000287e-08 +2.880300000000000082e-01 1.200699999999999998e-06 1.095400000000000002e-07 +2.894599999999999951e-01 1.598700000000000042e-06 1.264899999999999898e-07 +2.908899999999999819e-01 1.713499999999999984e-06 1.307699999999999990e-07 +2.923299999999999788e-01 1.479199999999999958e-06 1.216599999999999922e-07 +2.937600000000000211e-01 8.770699999999999518e-07 9.380800000000000197e-08 +2.951900000000000079e-01 5.017900000000000483e-07 7.071100000000000366e-08 +2.966300000000000048e-01 1.249400000000000057e-07 3.464099999999999897e-08 +2.980599999999999916e-01 3.192899999999999957e-07 5.656900000000000183e-08 +2.994899999999999785e-01 5.400099999999999763e-07 7.348499999999999925e-08 +3.009299999999999753e-01 9.167800000000000341e-07 9.591699999999999789e-08 +3.023600000000000176e-01 1.091600000000000060e-06 1.043999999999999952e-07 +3.037900000000000045e-01 1.114899999999999905e-06 1.053599999999999985e-07 +3.052300000000000013e-01 9.849099999999999434e-07 9.899499999999999409e-08 +3.066599999999999882e-01 5.490900000000000020e-07 7.416199999999999929e-08 +3.080899999999999750e-01 3.416999999999999959e-07 5.830999999999999737e-08 +3.095300000000000273e-01 1.432499999999999890e-07 3.741699999999999683e-08 +3.109600000000000142e-01 2.503500000000000150e-07 4.999999999999999774e-08 +3.123900000000000010e-01 4.171299999999999771e-07 6.480700000000000585e-08 +3.138299999999999979e-01 9.677600000000000313e-07 9.848900000000000266e-08 +3.152599999999999847e-01 1.076900000000000015e-06 1.039199999999999935e-07 +3.166900000000000270e-01 1.102100000000000002e-06 1.048799999999999968e-07 +3.181300000000000239e-01 7.944699999999999930e-07 8.888200000000000140e-08 +3.195600000000000107e-01 6.477999999999999641e-07 8.062299999999999342e-08 +3.209899999999999975e-01 3.333600000000000152e-07 5.744599999999999705e-08 +3.224299999999999944e-01 1.998799999999999872e-07 4.472100000000000056e-08 +3.238599999999999812e-01 1.082500000000000065e-07 3.316600000000000065e-08 +3.252900000000000236e-01 4.829499999999999670e-07 6.928199999999999795e-08 +3.267300000000000204e-01 4.738000000000000207e-07 6.855699999999999642e-08 +3.281600000000000072e-01 7.670899999999999689e-07 8.775000000000000159e-08 +3.295899999999999941e-01 8.786399999999999851e-07 9.380800000000000197e-08 +3.310299999999999909e-01 5.818999999999999894e-07 7.615799999999999943e-08 +3.324599999999999778e-01 3.664899999999999948e-07 6.082799999999999385e-08 +3.338900000000000201e-01 1.812200000000000041e-07 4.242599999999999887e-08 +3.353200000000000069e-01 2.487500000000000007e-07 4.999999999999999774e-08 +3.367600000000000038e-01 1.971099999999999962e-07 4.472100000000000056e-08 +3.381899999999999906e-01 4.357900000000000132e-07 6.633200000000000131e-08 +3.396199999999999775e-01 4.189199999999999951e-07 6.480700000000000585e-08 +3.410599999999999743e-01 6.466600000000000479e-07 8.062299999999999342e-08 +3.424900000000000166e-01 6.991799999999999914e-07 8.366600000000000287e-08 +3.439200000000000035e-01 5.755199999999999548e-07 7.615799999999999943e-08 +3.453600000000000003e-01 3.603500000000000206e-07 5.999999999999999464e-08 +3.467899999999999872e-01 1.908699999999999879e-07 4.358900000000000075e-08 +3.482199999999999740e-01 1.215699999999999961e-07 3.464099999999999897e-08 +3.496600000000000263e-01 2.594900000000000029e-07 5.099000000000000197e-08 +3.510900000000000132e-01 4.234200000000000156e-07 6.480700000000000585e-08 +3.525200000000000000e-01 5.051399999999999824e-07 7.141399999999999348e-08 +3.539599999999999969e-01 5.445300000000000194e-07 7.348499999999999925e-08 +3.553899999999999837e-01 5.015700000000000106e-07 7.071100000000000366e-08 +3.568200000000000260e-01 3.772199999999999857e-07 6.164400000000000592e-08 +3.582600000000000229e-01 2.957999999999999885e-07 5.477200000000000235e-08 +3.596900000000000097e-01 2.358000000000000071e-07 4.898999999999999730e-08 +3.611199999999999966e-01 2.356400000000000110e-07 4.898999999999999730e-08 +3.625599999999999934e-01 3.554699999999999928e-07 5.999999999999999464e-08 +3.639899999999999802e-01 3.051100000000000103e-07 5.567799999999999736e-08 +3.654200000000000226e-01 5.067300000000000383e-07 7.141399999999999348e-08 +3.668600000000000194e-01 4.637399999999999955e-07 6.782299999999999792e-08 +3.682900000000000063e-01 4.123100000000000174e-07 6.403099999999999943e-08 +3.697199999999999931e-01 3.372199999999999981e-07 5.830999999999999737e-08 +3.711599999999999899e-01 1.999900000000000061e-07 4.472100000000000056e-08 +3.725899999999999768e-01 1.626799999999999982e-07 4.000000000000000084e-08 +3.740200000000000191e-01 2.533499999999999757e-07 4.999999999999999774e-08 +3.754600000000000160e-01 2.250499999999999936e-07 4.795799999999999838e-08 +3.768900000000000028e-01 2.792699999999999854e-07 5.291500000000000101e-08 +3.783199999999999896e-01 5.591900000000000197e-07 7.483300000000000576e-08 +3.797599999999999865e-01 2.937700000000000160e-07 5.385199999999999808e-08 +3.811899999999999733e-01 2.764299999999999944e-07 5.291500000000000101e-08 +3.826200000000000156e-01 1.937699999999999941e-07 4.358900000000000075e-08 +3.840600000000000125e-01 1.970000000000000038e-07 4.472100000000000056e-08 +3.854899999999999993e-01 1.628899999999999981e-07 4.000000000000000084e-08 +3.869199999999999862e-01 2.141100000000000028e-07 4.582600000000000285e-08 +3.883599999999999830e-01 2.244199999999999939e-07 4.690400000000000098e-08 +3.897900000000000253e-01 2.390900000000000055e-07 4.898999999999999730e-08 +3.912200000000000122e-01 3.728600000000000181e-07 6.082799999999999385e-08 +3.926600000000000090e-01 2.364599999999999879e-07 4.898999999999999730e-08 +3.940899999999999959e-01 2.442599999999999916e-07 4.898999999999999730e-08 +3.955199999999999827e-01 1.591200000000000113e-07 4.000000000000000084e-08 +3.969599999999999795e-01 1.592899999999999924e-07 4.000000000000000084e-08 +3.983900000000000219e-01 1.133700000000000020e-07 3.316600000000000065e-08 +3.998200000000000087e-01 1.962300000000000042e-07 4.472100000000000056e-08 +4.012600000000000056e-01 1.410599999999999939e-07 3.741699999999999683e-08 +4.026899999999999924e-01 2.510299999999999920e-07 4.999999999999999774e-08 +4.041199999999999792e-01 2.820400000000000029e-07 5.291500000000000101e-08 +4.055599999999999761e-01 3.117400000000000108e-07 5.567799999999999736e-08 +4.069900000000000184e-01 1.021300000000000020e-07 3.162299999999999802e-08 +4.084200000000000053e-01 1.329700000000000055e-07 3.605600000000000205e-08 +4.098600000000000021e-01 1.103000000000000017e-07 3.316600000000000065e-08 +4.112899999999999889e-01 1.326200000000000057e-07 3.605600000000000205e-08 +4.127199999999999758e-01 1.460700000000000103e-07 3.872999999999999674e-08 +4.141599999999999726e-01 1.917399999999999951e-07 4.358900000000000075e-08 +4.155900000000000150e-01 2.328800000000000048e-07 4.795799999999999838e-08 +4.170200000000000018e-01 2.353300000000000036e-07 4.898999999999999730e-08 +4.184599999999999986e-01 2.429300000000000187e-07 4.898999999999999730e-08 +4.198899999999999855e-01 1.760600000000000029e-07 4.242599999999999887e-08 +4.213199999999999723e-01 1.400799999999999944e-07 3.741699999999999683e-08 +4.227600000000000247e-01 2.440299999999999954e-07 4.898999999999999730e-08 +4.241900000000000115e-01 1.158800000000000027e-07 3.464099999999999897e-08 +4.256199999999999983e-01 1.759999999999999878e-07 4.242599999999999887e-08 +4.270599999999999952e-01 7.706599999999999671e-08 2.828400000000000035e-08 +4.284899999999999820e-01 2.745499999999999802e-07 5.196199999999999903e-08 +4.299200000000000244e-01 1.284000000000000116e-07 3.605600000000000205e-08 +4.313600000000000212e-01 1.833299999999999879e-07 4.242599999999999887e-08 +4.327900000000000080e-01 1.847599999999999948e-07 4.242599999999999887e-08 +4.342199999999999949e-01 1.731500000000000119e-07 4.123100000000000041e-08 +4.356599999999999917e-01 9.118400000000000441e-08 2.999999999999999732e-08 +4.370899999999999785e-01 1.957499999999999893e-07 4.472100000000000056e-08 +4.385200000000000209e-01 1.920399999999999911e-07 4.358900000000000075e-08 +4.399600000000000177e-01 1.945599999999999899e-07 4.358900000000000075e-08 +4.413900000000000046e-01 1.568700000000000011e-07 4.000000000000000084e-08 +4.428199999999999914e-01 1.953500000000000122e-07 4.472100000000000056e-08 +4.442599999999999882e-01 1.654200000000000082e-07 4.123100000000000041e-08 +4.456899999999999751e-01 1.368599999999999960e-07 3.741699999999999683e-08 +4.471200000000000174e-01 2.139000000000000029e-07 4.582600000000000285e-08 +4.485600000000000143e-01 1.256499999999999902e-07 3.605600000000000205e-08 +4.499900000000000011e-01 8.671100000000000135e-08 2.999999999999999732e-08 +4.514199999999999879e-01 2.137699999999999879e-07 4.582600000000000285e-08 +4.528599999999999848e-01 1.410599999999999939e-07 3.741699999999999683e-08 +4.542900000000000271e-01 1.612900000000000103e-07 4.000000000000000084e-08 +4.557200000000000140e-01 1.604000000000000069e-07 4.000000000000000084e-08 +4.571600000000000108e-01 1.167399999999999985e-07 3.464099999999999897e-08 +4.585899999999999976e-01 1.624699999999999983e-07 4.000000000000000084e-08 +4.600199999999999845e-01 1.695099999999999873e-07 4.123100000000000041e-08 +4.614500000000000268e-01 1.064199999999999961e-07 3.316600000000000065e-08 +4.628900000000000237e-01 9.822699999999999674e-08 3.162299999999999802e-08 +4.643200000000000105e-01 1.886799999999999928e-07 4.358900000000000075e-08 +4.657499999999999973e-01 1.214299999999999961e-07 3.464099999999999897e-08 +4.671899999999999942e-01 1.188599999999999936e-07 3.464099999999999897e-08 +4.686199999999999810e-01 1.647799999999999972e-07 4.000000000000000084e-08 +4.700500000000000234e-01 1.168099999999999984e-07 3.464099999999999897e-08 +4.714900000000000202e-01 1.719899999999999936e-07 4.123100000000000041e-08 +4.729200000000000070e-01 9.757199999999999517e-08 3.162299999999999802e-08 +4.743499999999999939e-01 1.612600000000000027e-07 4.000000000000000084e-08 +4.757899999999999907e-01 2.017200000000000090e-07 4.472100000000000056e-08 +4.772199999999999775e-01 1.734099999999999891e-07 4.123100000000000041e-08 +4.786500000000000199e-01 1.175899999999999962e-07 3.464099999999999897e-08 +4.800900000000000167e-01 1.819299999999999886e-07 4.242599999999999887e-08 +4.815200000000000036e-01 1.103700000000000016e-07 3.316600000000000065e-08 +4.829499999999999904e-01 1.772899999999999947e-07 4.242599999999999887e-08 +4.843899999999999872e-01 1.506200000000000080e-07 3.872999999999999674e-08 +4.858199999999999741e-01 1.333799999999999939e-07 3.605600000000000205e-08 +4.872500000000000164e-01 1.528600000000000069e-07 3.872999999999999674e-08 +4.886900000000000133e-01 1.639799999999999900e-07 4.000000000000000084e-08 +4.901200000000000001e-01 1.014599999999999966e-07 3.162299999999999802e-08 +4.915499999999999869e-01 2.166400000000000129e-07 4.690400000000000098e-08 +4.929899999999999838e-01 1.104300000000000035e-07 3.316600000000000065e-08 +4.944200000000000261e-01 1.644900000000000125e-07 4.000000000000000084e-08 +4.958500000000000130e-01 2.125700000000000036e-07 4.582600000000000285e-08 +4.972900000000000098e-01 1.332899999999999978e-07 3.605600000000000205e-08 +4.987199999999999966e-01 1.907200000000000031e-07 4.358900000000000075e-08 +5.001499999999999835e-01 1.103899999999999979e-07 3.316600000000000065e-08 +5.015899999999999803e-01 1.628099999999999868e-07 4.000000000000000084e-08 +5.030200000000000227e-01 1.564699999999999975e-07 4.000000000000000084e-08 +5.044499999999999540e-01 2.116999999999999965e-07 4.582600000000000285e-08 +5.058899999999999508e-01 1.125200000000000044e-07 3.316600000000000065e-08 +5.073199999999999932e-01 1.239199999999999873e-07 3.464099999999999897e-08 +5.087500000000000355e-01 1.728600000000000007e-07 4.123100000000000041e-08 +5.101900000000000324e-01 1.738400000000000002e-07 4.123100000000000041e-08 +5.116199999999999637e-01 1.037300000000000031e-07 3.162299999999999802e-08 +5.130500000000000060e-01 1.545200000000000099e-07 3.872999999999999674e-08 +5.144900000000000029e-01 2.247199999999999900e-07 4.690400000000000098e-08 +5.159200000000000452e-01 1.780599999999999943e-07 4.242599999999999887e-08 +5.173499999999999766e-01 8.477199999999999967e-08 2.828400000000000035e-08 +5.187899999999999734e-01 1.513000000000000115e-07 3.872999999999999674e-08 +5.202200000000000157e-01 1.958499999999999968e-07 4.472100000000000056e-08 +5.216499999999999471e-01 9.982499999999999556e-08 3.162299999999999802e-08 +5.230900000000000549e-01 1.309099999999999990e-07 3.605600000000000205e-08 +5.245199999999999863e-01 1.317600000000000099e-07 3.605600000000000205e-08 +5.259500000000000286e-01 1.400799999999999944e-07 3.741699999999999683e-08 +5.273900000000000254e-01 1.935900000000000017e-07 4.358900000000000075e-08 +5.288199999999999568e-01 1.446999999999999921e-07 3.741699999999999683e-08 +5.302499999999999991e-01 1.913599999999999877e-07 4.358900000000000075e-08 +5.316899999999999959e-01 1.878800000000000121e-07 4.358900000000000075e-08 +5.331200000000000383e-01 8.692899999999999708e-08 2.999999999999999732e-08 +5.345499999999999696e-01 1.305200000000000067e-07 3.605600000000000205e-08 +5.359899999999999665e-01 1.802600000000000008e-07 4.242599999999999887e-08 +5.374200000000000088e-01 1.069199999999999939e-07 3.316600000000000065e-08 +5.388500000000000512e-01 1.900799999999999921e-07 4.358900000000000075e-08 +5.402900000000000480e-01 1.831199999999999880e-07 4.242599999999999887e-08 +5.417199999999999793e-01 1.681099999999999880e-07 4.123100000000000041e-08 +5.431500000000000217e-01 1.333900000000000053e-07 3.605600000000000205e-08 +5.445900000000000185e-01 1.158100000000000027e-07 3.464099999999999897e-08 +5.460199999999999498e-01 1.890099999999999964e-07 4.358900000000000075e-08 +5.474499999999999922e-01 5.076999999999999735e-08 2.236100000000000085e-08 +5.488899999999999890e-01 1.515800000000000113e-07 3.872999999999999674e-08 +5.503200000000000314e-01 1.764199999999999876e-07 4.242599999999999887e-08 +5.517499999999999627e-01 1.254399999999999903e-07 3.605600000000000205e-08 +5.531899999999999595e-01 7.189599999999999740e-08 2.645800000000000107e-08 +5.546200000000000019e-01 1.533399999999999953e-07 3.872999999999999674e-08 +5.560500000000000442e-01 2.005300000000000096e-07 4.472100000000000056e-08 +5.574900000000000411e-01 1.467200000000000062e-07 3.872999999999999674e-08 +5.589199999999999724e-01 1.129899999999999947e-07 3.316600000000000065e-08 +5.603500000000000147e-01 1.063900000000000017e-07 3.316600000000000065e-08 +5.617900000000000116e-01 7.993799999999999755e-08 2.828400000000000035e-08 +5.632200000000000539e-01 1.288999999999999962e-07 3.605600000000000205e-08 +5.646499999999999853e-01 1.651499999999999932e-07 4.123100000000000041e-08 +5.660899999999999821e-01 1.030900000000000053e-07 3.162299999999999802e-08 +5.675200000000000244e-01 1.426699999999999931e-07 3.741699999999999683e-08 +5.689499999999999558e-01 1.464099999999999988e-07 3.872999999999999674e-08 +5.703899999999999526e-01 1.396900000000000021e-07 3.741699999999999683e-08 +5.718199999999999950e-01 1.245999999999999908e-07 3.464099999999999897e-08 +5.732500000000000373e-01 1.078500000000000029e-07 3.316600000000000065e-08 +5.746900000000000341e-01 1.481999999999999903e-07 3.872999999999999674e-08 +5.761199999999999655e-01 1.322200000000000021e-07 3.605600000000000205e-08 +5.775500000000000078e-01 1.317399999999999872e-07 3.605600000000000205e-08 +5.789900000000000047e-01 8.568300000000000035e-08 2.999999999999999732e-08 +5.804200000000000470e-01 4.987799999999999837e-08 2.236100000000000085e-08 +5.818499999999999783e-01 1.980500000000000033e-07 4.472100000000000056e-08 +5.832899999999999752e-01 1.649700000000000009e-07 4.000000000000000084e-08 +5.847200000000000175e-01 1.235900000000000102e-07 3.464099999999999897e-08 +5.861499999999999488e-01 1.132400000000000002e-07 3.316600000000000065e-08 +5.875799999999999912e-01 1.552400000000000057e-07 4.000000000000000084e-08 +5.890199999999999880e-01 1.425600000000000007e-07 3.741699999999999683e-08 +5.904500000000000304e-01 1.441899999999999961e-07 3.741699999999999683e-08 +5.918799999999999617e-01 2.349600000000000075e-07 4.795799999999999838e-08 diff --git a/tests/test_data/orso_poly.dat b/tests/test_data/orso_poly.dat new file mode 100644 index 00000000..4187f29a --- /dev/null +++ b/tests/test_data/orso_poly.dat @@ -0,0 +1,408 @@ +8.060200000000000004e-03 7.095799999999999885e-01 8.506800000000000472e-02 +8.136600000000000776e-03 8.622800000000000464e-01 1.123699999999999977e-01 +8.263799999999999965e-03 9.086499999999999577e-01 7.900500000000000578e-02 +8.370700000000000016e-03 7.732900000000000329e-01 7.927299999999999625e-02 +8.450300000000000866e-03 1.058000000000000052e+00 1.259599999999999886e-01 +8.530799999999999841e-03 1.015700000000000047e+00 1.132999999999999979e-01 +8.612200000000000411e-03 7.347200000000000397e-01 6.115700000000000303e-02 +8.694399999999999698e-03 7.692200000000000149e-01 6.170599999999999696e-02 +8.777399999999999439e-03 1.115699999999999914e+00 1.127299999999999969e-01 +8.861400000000000179e-03 9.723000000000000531e-01 8.971600000000000408e-02 +8.946199999999999639e-03 7.512100000000000444e-01 5.493900000000000172e-02 +9.031799999999999551e-03 7.976499999999999702e-01 5.671199999999999852e-02 +9.118400000000000463e-03 9.221899999999999542e-01 6.858400000000000607e-02 +9.205899999999999500e-03 9.757599999999999607e-01 7.294000000000000483e-02 +9.294300000000000131e-03 8.195000000000000062e-01 5.216200000000000003e-02 +9.383600000000000621e-03 7.883200000000000207e-01 4.794699999999999657e-02 +9.473900000000000376e-03 7.946999999999999620e-01 4.602200000000000041e-02 +9.565099999999999991e-03 8.743999999999999551e-01 5.151599999999999929e-02 +9.657199999999999465e-03 8.396599999999999620e-01 4.742799999999999794e-02 +9.750299999999999939e-03 8.008699999999999708e-01 4.399600000000000039e-02 +9.844399999999999679e-03 1.117099999999999982e+00 7.373300000000000687e-02 +9.939399999999999277e-03 8.884100000000000330e-01 4.954100000000000170e-02 +1.003500000000000052e-02 7.791299999999999892e-01 3.898700000000000082e-02 +1.013200000000000038e-02 7.999699999999999589e-01 3.899699999999999694e-02 +1.022999999999999951e-02 8.431199999999999806e-01 4.159800000000000303e-02 +1.032899999999999964e-02 9.613300000000000178e-01 4.925399999999999917e-02 +1.048699999999999979e-02 8.805399999999999894e-01 2.990800000000000056e-02 +1.063300000000000009e-02 7.557399999999999674e-01 3.208500000000000241e-02 +1.073600000000000075e-02 9.712300000000000377e-01 4.534799999999999942e-02 +1.084000000000000068e-02 8.955499999999999572e-01 3.905399999999999844e-02 +1.094499999999999987e-02 8.625899999999999679e-01 3.580699999999999855e-02 +1.105199999999999932e-02 8.909899999999999487e-01 3.612599999999999839e-02 +1.115900000000000052e-02 9.003499999999999837e-01 3.679199999999999832e-02 +1.126800000000000024e-02 8.459299999999999597e-01 3.218800000000000133e-02 +1.137799999999999923e-02 9.431500000000000439e-01 3.655300000000000216e-02 +1.148799999999999995e-02 9.956300000000000150e-01 3.901199999999999807e-02 +1.159999999999999920e-02 9.695899999999999519e-01 3.636199999999999849e-02 +1.171299999999999945e-02 9.051799999999999846e-01 3.204100000000000004e-02 +1.182799999999999997e-02 8.933799999999999519e-01 3.061200000000000032e-02 +1.194300000000000049e-02 9.195999999999999730e-01 3.146800000000000291e-02 +1.205999999999999954e-02 9.190000000000000391e-01 3.060999999999999832e-02 +1.217799999999999959e-02 7.810599999999999765e-01 2.355399999999999855e-02 +1.229700000000000064e-02 8.649099999999999566e-01 2.720300000000000148e-02 +1.241699999999999922e-02 8.435200000000000475e-01 2.550099999999999936e-02 +1.253800000000000053e-02 9.984199999999999742e-01 3.197200000000000042e-02 +1.266100000000000038e-02 8.812600000000000433e-01 2.602700000000000152e-02 +1.278499999999999949e-02 8.835699999999999665e-01 2.558600000000000110e-02 +1.291100000000000060e-02 9.376700000000000035e-01 2.746499999999999983e-02 +1.303699999999999998e-02 1.019200000000000106e+00 3.051099999999999993e-02 +1.316499999999999962e-02 8.455300000000000038e-01 2.262700000000000128e-02 +1.329400000000000026e-02 8.738000000000000211e-01 2.324700000000000030e-02 +1.342400000000000017e-02 8.659499999999999975e-01 2.249100000000000057e-02 +1.355600000000000034e-02 8.779799999999999827e-01 2.244900000000000020e-02 +1.368899999999999978e-02 9.475400000000000489e-01 2.489900000000000099e-02 +1.382399999999999948e-02 8.881499999999999950e-01 2.209600000000000106e-02 +1.395899999999999919e-02 8.913600000000000412e-01 2.181500000000000106e-02 +1.409700000000000016e-02 8.884600000000000275e-01 2.150900000000000034e-02 +1.423499999999999939e-02 9.137199999999999767e-01 2.225900000000000101e-02 +1.437500000000000062e-02 8.103599999999999692e-01 1.882899999999999852e-02 +1.451700000000000039e-02 7.385500000000000398e-01 1.688299999999999870e-02 +1.465999999999999942e-02 6.865099999999999536e-01 1.597399999999999862e-02 +1.480399999999999945e-02 5.822399999999999798e-01 1.350200000000000011e-02 +1.494999999999999975e-02 4.468599999999999794e-01 1.006300000000000076e-02 +1.509699999999999931e-02 3.924599999999999755e-01 9.155500000000000443e-03 +1.524599999999999914e-02 3.205200000000000271e-01 7.319599999999999891e-03 +1.539599999999999996e-02 2.810099999999999820e-01 6.399099999999999580e-03 +1.554799999999999932e-02 2.401000000000000079e-01 5.442400000000000015e-03 +1.570099999999999968e-02 2.208799999999999930e-01 5.024400000000000047e-03 +1.585599999999999857e-02 1.920300000000000062e-01 4.314400000000000353e-03 +1.601299999999999946e-02 1.798500000000000099e-01 4.051599999999999820e-03 +1.617100000000000135e-02 1.600699999999999901e-01 3.562000000000000062e-03 +1.633000000000000076e-02 1.531299999999999883e-01 3.467800000000000049e-03 +1.649199999999999972e-02 1.342200000000000060e-01 3.016000000000000018e-03 +1.665399999999999867e-02 1.283299999999999996e-01 2.888500000000000009e-03 +1.681900000000000062e-02 1.247899999999999981e-01 2.861799999999999847e-03 +1.698500000000000010e-02 1.091300000000000048e-01 2.483099999999999804e-03 +1.715300000000000158e-02 1.044299999999999951e-01 2.353899999999999916e-03 +1.732300000000000159e-02 9.468300000000000327e-02 2.091599999999999883e-03 +1.758799999999999947e-02 8.969100000000000683e-02 1.439399999999999968e-03 +1.784200000000000022e-02 8.091399999999999981e-02 1.872799999999999986e-03 +1.801799999999999929e-02 7.465399999999999814e-02 1.714199999999999925e-03 +1.819700000000000137e-02 7.036599999999999799e-02 1.634199999999999932e-03 +1.837700000000000097e-02 6.904399999999999427e-02 1.605300000000000043e-03 +1.855899999999999911e-02 6.270499999999999685e-02 1.461499999999999909e-03 +1.874299999999999924e-02 5.939099999999999935e-02 1.400100000000000042e-03 +1.892800000000000038e-02 5.754800000000000193e-02 1.361000000000000014e-03 +1.911600000000000105e-02 5.138299999999999812e-02 1.226700000000000056e-03 +1.930499999999999924e-02 4.922699999999999992e-02 1.178199999999999907e-03 +1.949700000000000044e-02 4.521700000000000025e-02 1.079600000000000004e-03 +1.968999999999999917e-02 4.245600000000000068e-02 1.022200000000000018e-03 +1.988499999999999990e-02 4.126099999999999907e-02 9.947800000000000132e-04 +2.008199999999999916e-02 3.523300000000000043e-02 8.777900000000000372e-04 +2.028200000000000142e-02 3.352700000000000125e-02 8.367500000000000372e-04 +2.048300000000000121e-02 3.326799999999999896e-02 8.339600000000000181e-04 +2.068599999999999953e-02 3.166399999999999770e-02 7.898900000000000149e-04 +2.089099999999999985e-02 2.915999999999999842e-02 7.496099999999999465e-04 +2.109799999999999870e-02 2.651999999999999844e-02 7.063800000000000504e-04 +2.130800000000000055e-02 2.518300000000000052e-02 6.713900000000000076e-04 +2.152000000000000093e-02 2.387600000000000139e-02 6.426900000000000147e-04 +2.173299999999999885e-02 2.289300000000000015e-02 6.330700000000000086e-04 +2.194899999999999976e-02 2.086500000000000160e-02 5.931299999999999810e-04 +2.216699999999999920e-02 2.087699999999999972e-02 5.920100000000000189e-04 +2.238700000000000065e-02 1.822299999999999962e-02 5.292100000000000103e-04 +2.261000000000000162e-02 1.773500000000000076e-02 5.251500000000000525e-04 +2.283400000000000013e-02 1.587099999999999969e-02 4.818800000000000145e-04 +2.306100000000000164e-02 1.432499999999999919e-02 4.516200000000000162e-04 +2.329000000000000167e-02 1.427800000000000076e-02 4.522500000000000153e-04 +2.352200000000000124e-02 1.266199999999999964e-02 4.198499999999999867e-04 +2.375499999999999834e-02 1.221299999999999990e-02 4.137899999999999803e-04 +2.399199999999999944e-02 1.046099999999999981e-02 3.745299999999999801e-04 +2.423000000000000154e-02 1.061299999999999917e-02 3.810500000000000193e-04 +2.447099999999999970e-02 9.879000000000000628e-03 3.641299999999999984e-04 +2.471500000000000086e-02 8.371999999999999234e-03 3.313899999999999832e-04 +2.495999999999999955e-02 7.670500000000000235e-03 3.077099999999999931e-04 +2.520899999999999877e-02 7.344899999999999693e-03 3.049799999999999972e-04 +2.545899999999999899e-02 6.798600000000000129e-03 2.898700000000000148e-04 +2.571299999999999975e-02 5.916300000000000205e-03 2.671800000000000000e-04 +2.596800000000000150e-02 5.344999999999999925e-03 2.515400000000000210e-04 +2.622700000000000031e-02 5.122699999999999997e-03 2.474099999999999910e-04 +2.648800000000000113e-02 4.750299999999999835e-03 2.379500000000000105e-04 +2.675200000000000147e-02 4.307199999999999744e-03 2.238499999999999930e-04 +2.701800000000000035e-02 4.018200000000000417e-03 2.200500000000000090e-04 +2.728699999999999876e-02 3.539200000000000158e-03 2.046499999999999871e-04 +2.755799999999999916e-02 3.818199999999999893e-03 2.079399999999999912e-04 +2.783300000000000010e-02 2.864799999999999812e-03 1.819199999999999930e-04 +2.810999999999999957e-02 2.795800000000000195e-03 1.766899999999999905e-04 +2.838999999999999857e-02 2.621500000000000132e-03 1.749999999999999982e-04 +2.867300000000000057e-02 2.484800000000000116e-03 1.694599999999999937e-04 +2.895800000000000110e-02 2.420100000000000116e-03 1.709199999999999966e-04 +2.924699999999999869e-02 2.359299999999999939e-03 1.700600000000000082e-04 +2.953799999999999829e-02 1.978600000000000064e-03 1.600200000000000027e-04 +2.983200000000000088e-02 1.947200000000000059e-03 1.582800000000000092e-04 +3.013000000000000053e-02 1.735900000000000073e-03 1.527300000000000098e-04 +3.042999999999999872e-02 1.894599999999999973e-03 1.602999999999999933e-04 +3.073299999999999990e-02 1.696699999999999988e-03 1.525700000000000114e-04 +3.103900000000000062e-02 1.793700000000000069e-03 1.592400000000000000e-04 +3.134900000000000186e-02 1.786899999999999903e-03 1.552000000000000048e-04 +3.166100000000000164e-02 1.871999999999999966e-03 1.584000000000000013e-04 +3.197699999999999848e-02 1.688199999999999944e-03 1.499799999999999972e-04 +3.229499999999999732e-02 1.732400000000000042e-03 1.543199999999999997e-04 +3.261700000000000016e-02 1.537600000000000078e-03 1.454000000000000106e-04 +3.294199999999999906e-02 1.541300000000000005e-03 1.497600000000000027e-04 +3.327100000000000196e-02 1.700300000000000075e-03 1.572099999999999941e-04 +3.360300000000000092e-02 2.142199999999999920e-03 1.728900000000000066e-04 +3.393800000000000289e-02 1.943999999999999981e-03 1.686900000000000129e-04 +3.422100000000000142e-02 1.913999999999999903e-03 1.077099999999999970e-04 +3.466500000000000137e-02 1.986400000000000145e-03 1.438300000000000104e-04 +3.502199999999999758e-02 1.849699999999999912e-03 1.279700000000000097e-04 +3.538499999999999979e-02 1.932600000000000030e-03 1.227099999999999957e-04 +3.571599999999999775e-02 2.188999999999999974e-03 1.496000000000000042e-04 +3.607699999999999796e-02 2.314300000000000038e-03 1.503400000000000005e-04 +3.646800000000000042e-02 1.831799999999999965e-03 1.041600000000000056e-04 +3.682599999999999763e-02 1.797100000000000043e-03 1.012900000000000009e-04 +3.716200000000000059e-02 2.278699999999999823e-03 1.417300000000000135e-04 +3.754199999999999898e-02 2.183399999999999837e-03 1.294599999999999972e-04 +3.794000000000000150e-02 1.799000000000000035e-03 9.624999999999999496e-05 +3.831299999999999983e-02 1.828100000000000037e-03 9.734599999999999937e-05 +3.868400000000000311e-02 1.949800000000000014e-03 1.082599999999999969e-04 +3.906899999999999956e-02 2.042099999999999818e-03 1.122399999999999960e-04 +3.947300000000000114e-02 1.659499999999999951e-03 8.395500000000000510e-05 +3.986300000000000260e-02 1.620300000000000082e-03 8.073400000000000324e-05 +4.026600000000000318e-02 1.588599999999999908e-03 7.617699999999999927e-05 +4.066100000000000270e-02 1.582499999999999922e-03 7.829099999999999970e-05 +4.107000000000000234e-02 1.429900000000000008e-03 7.034400000000000277e-05 +4.147800000000000098e-02 1.336100000000000005e-03 6.498799999999999510e-05 +4.187400000000000150e-02 1.721899999999999950e-03 9.200100000000000226e-05 +4.230500000000000232e-02 1.404899999999999942e-03 6.788199999999999822e-05 +4.273199999999999915e-02 1.146499999999999950e-03 5.315200000000000203e-05 +4.315499999999999892e-02 1.030099999999999939e-03 4.872799999999999831e-05 +4.358299999999999674e-02 1.018599999999999931e-03 4.851600000000000102e-05 +4.401499999999999857e-02 1.060200000000000075e-03 5.148900000000000118e-05 +4.445500000000000146e-02 9.115599999999999528e-04 4.517699999999999792e-05 +4.489800000000000041e-02 7.795400000000000072e-04 3.746800000000000109e-05 +4.534699999999999842e-02 5.957599999999999745e-04 2.867799999999999885e-05 +4.579500000000000237e-02 6.476399999999999995e-04 3.286700000000000228e-05 +4.625100000000000044e-02 5.268399999999999906e-04 2.666199999999999985e-05 +4.671199999999999658e-02 4.365500000000000131e-04 2.240899999999999839e-05 +4.717799999999999772e-02 3.696099999999999798e-04 1.929699999999999837e-05 +4.764700000000000185e-02 3.315600000000000036e-04 1.808599999999999929e-05 +4.812099999999999711e-02 2.545800000000000190e-04 1.440600000000000065e-05 +4.859900000000000331e-02 2.090799999999999972e-04 1.312400000000000005e-05 +4.908300000000000163e-02 1.929400000000000060e-04 1.261600000000000084e-05 +4.957099999999999701e-02 1.309200000000000001e-04 9.992200000000000656e-06 +5.006399999999999739e-02 1.098200000000000023e-04 9.080500000000000558e-06 +5.056200000000000278e-02 9.565500000000000489e-05 8.370099999999999703e-06 +5.106499999999999928e-02 7.925700000000000366e-05 7.699100000000000537e-06 +5.157300000000000079e-02 7.956000000000000398e-05 6.898600000000000324e-06 +5.208600000000000035e-02 7.224999999999999435e-05 6.102700000000000033e-06 +5.260399999999999798e-02 7.825099999999999330e-05 6.391400000000000335e-06 +5.312800000000000161e-02 8.637100000000000365e-05 6.561899999999999804e-06 +5.365700000000000330e-02 1.331600000000000058e-04 8.789800000000000106e-06 +5.419100000000000306e-02 1.436300000000000055e-04 8.178800000000000366e-06 +5.473000000000000087e-02 1.586799999999999918e-04 8.565300000000000816e-06 +5.527399999999999675e-02 1.900100000000000053e-04 9.755199999999999367e-06 +5.582499999999999962e-02 2.354199999999999923e-04 1.141699999999999928e-05 +5.637999999999999956e-02 2.339300000000000049e-04 1.034500000000000006e-05 +5.694199999999999956e-02 2.433900000000000126e-04 1.059599999999999986e-05 +5.750899999999999762e-02 2.708599999999999918e-04 1.125099999999999951e-05 +5.808100000000000068e-02 3.109699999999999856e-04 1.233600000000000014e-05 +5.865999999999999687e-02 3.483299999999999938e-04 1.357899999999999992e-05 +5.924399999999999805e-02 3.329599999999999834e-04 1.275599999999999950e-05 +5.983399999999999830e-02 3.546600000000000230e-04 1.322400000000000078e-05 +6.042999999999999761e-02 3.544700000000000129e-04 1.306599999999999992e-05 +6.103200000000000292e-02 3.855199999999999816e-04 1.408900000000000012e-05 +6.164000000000000035e-02 3.325099999999999996e-04 1.201800000000000081e-05 +6.225399999999999684e-02 3.330900000000000245e-04 1.197199999999999989e-05 +6.287399999999999933e-02 3.303100000000000003e-04 1.197199999999999989e-05 +6.350100000000000189e-02 3.224699999999999941e-04 1.162899999999999996e-05 +6.413399999999999657e-02 2.744600000000000251e-04 9.948800000000000360e-06 +6.477299999999999724e-02 2.792399999999999895e-04 1.025400000000000042e-05 +6.541800000000000392e-02 2.389400000000000128e-04 8.960899999999999196e-06 +6.607000000000000373e-02 2.330300000000000101e-04 8.726700000000000659e-06 +6.672899999999999665e-02 1.863400000000000082e-04 7.236100000000000057e-06 +6.739399999999999558e-02 1.649499999999999979e-04 6.619499999999999896e-06 +6.806600000000000150e-02 1.332399999999999915e-04 5.541599999999999594e-06 +6.874500000000000055e-02 1.153799999999999965e-04 4.971599999999999969e-06 +6.943000000000000560e-02 8.250300000000000613e-05 3.951200000000000388e-06 +7.012200000000000377e-02 6.719200000000000313e-05 3.570200000000000139e-06 +7.082099999999999507e-02 5.033199999999999854e-05 2.926200000000000037e-06 +7.152799999999999436e-02 3.336100000000000128e-05 2.509699999999999874e-06 +7.224099999999999966e-02 2.290499999999999839e-05 2.116400000000000184e-06 +7.293399999999999883e-02 1.879399999999999997e-05 1.860500000000000017e-06 +7.366799999999999737e-02 1.553400000000000069e-05 1.798199999999999995e-06 +7.440099999999999492e-02 1.824499999999999896e-05 1.951800000000000100e-06 +7.513999999999999846e-02 2.235600000000000076e-05 1.800999999999999994e-06 +7.587199999999999500e-02 2.773600000000000007e-05 1.890099999999999911e-06 +7.663999999999999979e-02 3.931000000000000141e-05 2.300899999999999858e-06 +7.739600000000000646e-02 4.596700000000000222e-05 2.332399999999999895e-06 +7.810599999999999488e-02 5.541299999999999953e-05 2.459299999999999900e-06 +7.886799999999999367e-02 6.726000000000000316e-05 2.729600000000000090e-06 +7.979500000000000481e-02 7.650600000000000239e-05 2.773100000000000182e-06 +8.072899999999999521e-02 7.794700000000000435e-05 2.857399999999999951e-06 +8.153299999999999437e-02 8.505400000000000254e-05 2.990400000000000202e-06 +8.233200000000000240e-02 9.685699999999999778e-05 3.222700000000000078e-06 +8.315999999999999781e-02 9.462399999999999392e-05 3.166199999999999857e-06 +8.402500000000000246e-02 8.585599999999999927e-05 2.824499999999999808e-06 +8.486499999999999599e-02 8.101399999999999379e-05 2.662499999999999919e-06 +8.573400000000000465e-02 7.655899999999999663e-05 2.549800000000000134e-06 +8.655500000000000693e-02 7.385400000000000135e-05 2.485799999999999985e-06 +8.743700000000000083e-02 6.249699999999999472e-05 2.190900000000000064e-06 +8.831600000000000561e-02 5.495400000000000274e-05 2.001299999999999795e-06 +8.911099999999999577e-02 5.694499999999999774e-05 2.081600000000000111e-06 +9.004199999999999704e-02 4.229200000000000098e-05 1.729699999999999931e-06 +9.095499999999999419e-02 3.367499999999999861e-05 1.458899999999999915e-06 +9.185000000000000109e-02 2.545600000000000158e-05 1.249600000000000072e-06 +9.274399999999999311e-02 2.092200000000000060e-05 1.159800000000000102e-06 +9.362900000000000389e-02 1.531099999999999960e-05 1.060100000000000023e-06 +9.455299999999999816e-02 1.265600000000000046e-05 9.577500000000000628e-07 +9.551800000000000568e-02 9.331199999999999700e-06 8.621400000000000160e-07 +9.647699999999999332e-02 8.901499999999999392e-06 7.828999999999999496e-07 +9.741900000000000559e-02 1.079100000000000053e-05 8.938500000000000266e-07 +9.842599999999999960e-02 1.213699999999999916e-05 9.113100000000000255e-07 +9.941999999999999449e-02 1.540799999999999885e-05 9.077799999999999932e-07 +1.004300000000000054e-01 1.938000000000000080e-05 9.602500000000000389e-07 +1.014300000000000063e-01 2.091199999999999900e-05 1.040900000000000063e-06 +1.024999999999999939e-01 2.519199999999999868e-05 1.078399999999999916e-06 +1.034999999999999948e-01 2.818799999999999846e-05 1.132199999999999934e-06 +1.045500000000000040e-01 2.998099999999999976e-05 1.178500000000000024e-06 +1.056099999999999955e-01 3.056299999999999859e-05 1.150500000000000038e-06 +1.066799999999999971e-01 2.818999999999999945e-05 1.099099999999999988e-06 +1.077599999999999947e-01 2.692599999999999936e-05 1.037400000000000012e-06 +1.088299999999999962e-01 2.541899999999999837e-05 1.012600000000000054e-06 +1.099200000000000038e-01 2.282700000000000015e-05 9.367100000000000279e-07 +1.110399999999999998e-01 1.769199999999999934e-05 7.904499999999999875e-07 +1.121199999999999974e-01 1.547500000000000007e-05 7.625400000000000506e-07 +1.132399999999999934e-01 1.172599999999999920e-05 6.687999999999999536e-07 +1.143200000000000049e-01 1.050299999999999922e-05 6.598099999999999770e-07 +1.154599999999999932e-01 8.121500000000000084e-06 5.846999999999999880e-07 +1.166399999999999937e-01 4.988800000000000415e-06 5.267199999999999943e-07 +1.177600000000000036e-01 4.909999999999999577e-06 5.361000000000000426e-07 +1.189299999999999941e-01 5.304300000000000189e-06 5.240799999999999654e-07 +1.201300000000000007e-01 5.689100000000000300e-06 4.912300000000000385e-07 +1.213499999999999995e-01 6.444700000000000316e-06 5.061099999999999705e-07 +1.225900000000000045e-01 7.456199999999999864e-06 5.057999999999999896e-07 +1.238199999999999995e-01 8.248400000000000512e-06 5.025600000000000215e-07 +1.250900000000000067e-01 1.067500000000000028e-05 5.845400000000000184e-07 +1.263600000000000001e-01 1.131599999999999974e-05 5.722299999999999829e-07 +1.276400000000000035e-01 1.104399999999999963e-05 5.762600000000000528e-07 +1.289299999999999891e-01 1.062599999999999957e-05 5.655300000000000090e-07 +1.302099999999999924e-01 9.337700000000000400e-06 5.254700000000000063e-07 +1.315500000000000003e-01 8.922800000000000357e-06 5.000700000000000038e-07 +1.328499999999999959e-01 6.436100000000000093e-06 4.446899999999999936e-07 +1.341600000000000015e-01 6.181099999999999994e-06 4.556199999999999995e-07 +1.355099999999999916e-01 4.685699999999999878e-06 4.034800000000000104e-07 +1.368199999999999972e-01 4.667499999999999781e-06 3.809300000000000103e-07 +1.381999999999999895e-01 4.262500000000000270e-06 3.763000000000000013e-07 +1.395899999999999919e-01 3.884300000000000232e-06 3.571600000000000033e-07 +1.409900000000000042e-01 3.699499999999999901e-06 3.796599999999999996e-07 +1.424300000000000010e-01 3.659899999999999890e-06 3.543399999999999820e-07 +1.438500000000000056e-01 4.559399999999999918e-06 3.665699999999999797e-07 +1.452600000000000002e-01 4.580899999999999627e-06 3.470599999999999856e-07 +1.467499999999999916e-01 4.829299999999999655e-06 3.503900000000000029e-07 +1.482199999999999906e-01 4.930899999999999665e-06 3.533300000000000014e-07 +1.497100000000000097e-01 4.780999999999999626e-06 3.612599999999999937e-07 +1.512199999999999933e-01 4.644799999999999981e-06 3.397100000000000158e-07 +1.527399999999999869e-01 4.365099999999999932e-06 3.324600000000000005e-07 +1.542600000000000082e-01 3.807099999999999938e-06 3.253800000000000191e-07 +1.558199999999999863e-01 3.544199999999999880e-06 3.053900000000000102e-07 +1.573700000000000099e-01 2.632699999999999798e-06 2.773599999999999902e-07 +1.589399999999999979e-01 2.129700000000000125e-06 2.570600000000000003e-07 +1.605100000000000138e-01 2.509099999999999829e-06 2.684200000000000173e-07 +1.621400000000000063e-01 2.606299999999999932e-06 2.683499999999999909e-07 +1.637599999999999889e-01 2.467999999999999918e-06 2.618099999999999866e-07 +1.653999999999999915e-01 2.437699999999999971e-06 2.457099999999999946e-07 +1.670300000000000118e-01 2.818500000000000204e-06 2.626300000000000164e-07 +1.687400000000000011e-01 3.201900000000000210e-06 2.677200000000000177e-07 +1.704100000000000059e-01 3.020999999999999960e-06 2.548700000000000052e-07 +1.721199999999999952e-01 2.398600000000000210e-06 2.324600000000000050e-07 +1.738399999999999945e-01 2.458200000000000029e-06 2.385499999999999755e-07 +1.755700000000000038e-01 2.033700000000000112e-06 2.231999999999999869e-07 +1.773399999999999976e-01 1.684000000000000097e-06 2.048299999999999885e-07 +1.790899999999999992e-01 1.293800000000000005e-06 2.007699999999999906e-07 +1.809099999999999875e-01 1.439699999999999955e-06 1.882099999999999893e-07 +1.827100000000000113e-01 1.540200000000000094e-06 1.999999999999999909e-07 +1.845400000000000096e-01 1.338499999999999975e-06 1.864800000000000128e-07 +1.863799999999999901e-01 1.616000000000000071e-06 1.863699999999999940e-07 +1.882500000000000007e-01 1.493499999999999973e-06 1.883900000000000081e-07 +1.901299999999999935e-01 2.059699999999999948e-06 1.920699999999999987e-07 +1.920399999999999885e-01 1.690199999999999928e-06 1.767699999999999874e-07 +1.939500000000000113e-01 1.488400000000000014e-06 1.792699999999999900e-07 +1.958999999999999908e-01 1.403800000000000010e-06 1.747300000000000036e-07 +1.978600000000000081e-01 1.346899999999999971e-06 1.705699999999999981e-07 +1.998399999999999899e-01 9.477100000000000073e-07 1.617800000000000100e-07 +2.018300000000000094e-01 1.089599999999999910e-06 1.735000000000000117e-07 +2.038600000000000134e-01 1.246300000000000036e-06 1.654700000000000120e-07 +2.058999999999999997e-01 1.227400000000000098e-06 1.644900000000000125e-07 +2.079600000000000060e-01 1.168999999999999946e-06 1.584600000000000041e-07 +2.100400000000000045e-01 1.161700000000000033e-06 1.521999999999999997e-07 +2.121399999999999952e-01 1.216899999999999945e-06 1.588499999999999964e-07 +2.142600000000000060e-01 1.317600000000000099e-06 1.546100000000000060e-07 +2.164000000000000090e-01 1.032800000000000090e-06 1.472899999999999908e-07 +2.185699999999999865e-01 1.030699999999999932e-06 1.514699999999999925e-07 +2.207800000000000040e-01 5.945299999999999642e-07 1.511699999999999964e-07 +2.229899999999999938e-01 7.279999999999999544e-07 1.429299999999999967e-07 +2.252200000000000035e-01 7.806299999999999697e-07 1.485200000000000091e-07 +2.274700000000000055e-01 1.063400000000000059e-06 1.499299999999999932e-07 +2.297399999999999998e-01 6.527000000000000146e-07 1.296699999999999958e-07 +2.320399999999999963e-01 1.074400000000000039e-06 1.484500000000000091e-07 +2.343600000000000128e-01 8.687600000000000051e-07 1.468600000000000061e-07 +2.366999999999999937e-01 9.218700000000000353e-07 1.450799999999999994e-07 +2.390599999999999947e-01 6.471500000000000212e-07 1.368099999999999922e-07 +2.414499999999999980e-01 5.363900000000000008e-07 1.356899999999999928e-07 +2.438700000000000034e-01 6.337199999999999863e-07 1.304000000000000030e-07 +2.462999999999999912e-01 6.292699999999999696e-07 1.365599999999999999e-07 +2.487699999999999911e-01 6.332899999999999751e-07 1.224499999999999881e-07 +2.512499999999999734e-01 1.037099999999999989e-06 1.354099999999999929e-07 +2.537599999999999856e-01 8.252900000000000003e-07 1.431599999999999928e-07 +2.562999999999999723e-01 6.268299999999999557e-07 1.192599999999999972e-07 +2.588599999999999790e-01 5.252600000000000328e-07 1.227399999999999993e-07 +2.614500000000000157e-01 5.218300000000000081e-07 1.309200000000000103e-07 +2.640600000000000169e-01 3.916600000000000012e-07 1.213700000000000075e-07 +2.666999999999999926e-01 4.724400000000000138e-07 1.399700000000000020e-07 +2.693699999999999983e-01 5.595400000000000460e-07 1.391499999999999986e-07 +2.720600000000000240e-01 6.640700000000000430e-07 1.448699999999999996e-07 +2.747800000000000242e-01 4.593799999999999750e-07 1.514699999999999925e-07 +2.775299999999999989e-01 3.669599999999999984e-07 1.435500000000000116e-07 +2.802999999999999936e-01 5.315299999999999957e-07 1.483100000000000092e-07 +2.831000000000000183e-01 4.289099999999999939e-07 1.361500000000000115e-07 +2.859300000000000175e-01 5.520100000000000308e-07 1.419800000000000048e-07 +2.887899999999999912e-01 5.702600000000000255e-07 1.528999999999999993e-07 +2.916799999999999948e-01 5.047299999999999939e-07 1.364300000000000113e-07 +2.945999999999999730e-01 6.619199999999999873e-07 1.407900000000000054e-07 +2.975400000000000267e-01 7.601300000000000177e-07 1.607199999999999992e-07 +3.005200000000000093e-01 4.685299999999999742e-07 1.348900000000000121e-07 +3.035200000000000120e-01 4.428599999999999832e-07 1.471299999999999946e-07 +3.065499999999999892e-01 4.899800000000000504e-07 1.404299999999999942e-07 +3.096200000000000063e-01 3.601600000000000169e-07 1.337299999999999938e-07 +3.127099999999999880e-01 2.905599999999999760e-07 1.480599999999999904e-07 +3.158400000000000096e-01 5.199599999999999523e-07 1.515599999999999887e-07 +3.190000000000000058e-01 4.666699999999999827e-07 1.562599999999999977e-07 +3.221899999999999764e-01 3.888800000000000253e-07 1.570100000000000011e-07 +3.254099999999999770e-01 4.467799999999999812e-07 1.555099999999999942e-07 +3.286600000000000077e-01 3.238800000000000123e-07 1.525899999999999919e-07 +3.319500000000000228e-01 3.787400000000000152e-07 1.581800000000000043e-07 +3.352700000000000125e-01 3.881999999999999954e-07 1.539100000000000064e-07 +3.386199999999999766e-01 4.428800000000000059e-07 1.491000000000000050e-07 +3.420000000000000262e-01 2.477900000000000238e-07 1.463200000000000026e-07 +3.454200000000000048e-01 2.857699999999999973e-07 1.351299999999999931e-07 +3.488800000000000234e-01 4.759599999999999818e-07 1.536599999999999876e-07 +3.523600000000000065e-01 4.496399999999999949e-07 1.539600000000000101e-07 +3.558899999999999841e-01 2.471499999999999863e-07 1.443200000000000112e-07 +3.594499999999999917e-01 2.167599999999999901e-07 1.491799999999999898e-07 +3.630399999999999738e-01 5.205899999999999784e-07 1.573700000000000122e-07 +3.666699999999999959e-01 5.247000000000000331e-07 1.545400000000000061e-07 +3.703400000000000025e-01 3.644000000000000072e-07 1.550199999999999945e-07 +3.740399999999999836e-01 4.597500000000000239e-07 1.653099999999999894e-07 +3.777800000000000047e-01 5.359200000000000502e-07 1.820400000000000075e-07 +3.815500000000000003e-01 4.268099999999999950e-07 1.770000000000000100e-07 +3.853699999999999903e-01 4.036700000000000141e-07 1.811100000000000117e-07 +3.892200000000000104e-01 2.554499999999999746e-07 1.597299999999999884e-07 +3.931100000000000150e-01 9.269699999999999950e-08 1.654000000000000120e-07 +3.970400000000000040e-01 1.106699999999999977e-07 1.808900000000000005e-07 +4.010099999999999776e-01 4.521599999999999937e-07 1.731900000000000043e-07 +4.050199999999999911e-01 3.780699999999999966e-07 1.516000000000000075e-07 +4.090699999999999892e-01 3.091399999999999743e-07 1.571899999999999934e-07 +4.131600000000000272e-01 3.417700000000000223e-07 1.448199999999999958e-07 +4.172899999999999943e-01 3.449199999999999943e-07 1.595800000000000036e-07 +4.214700000000000113e-01 2.518400000000000105e-07 1.597599999999999959e-07 +4.256800000000000028e-01 4.017399999999999962e-07 1.538099999999999989e-07 +4.299399999999999888e-01 3.172799999999999929e-07 1.691300000000000064e-07 +4.342300000000000049e-01 5.506299999999999483e-07 1.611399999999999990e-07 +4.385800000000000254e-01 5.085100000000000450e-07 1.649899999999999971e-07 +4.429600000000000204e-01 6.025899999999999980e-07 1.738299999999999889e-07 +4.473900000000000099e-01 4.384500000000000119e-07 1.653500000000000082e-07 +4.518699999999999939e-01 3.387599999999999973e-07 1.876400000000000047e-07 +4.563800000000000079e-01 4.358499999999999754e-07 1.978299999999999920e-07 +4.609500000000000264e-01 3.855799999999999891e-07 1.761399999999999877e-07 +4.655500000000000194e-01 3.834100000000000166e-07 1.884499999999999967e-07