From e794b8838825af50e32166f7a4f720df0e44417b Mon Sep 17 00:00:00 2001 From: esarrey <eliott.sarrey@gmail.com> Date: Mon, 5 Jun 2023 17:54:06 +0200 Subject: [PATCH] Separaion UI - plotter --- main.py | 37 +- random.csv | 1335 ++++++++++++++++++++++++++++- src/classes/plotter.py | 37 +- src/classes/procedures/x_sweep.py | 2 +- src/classes/ui.py | 46 +- 5 files changed, 1365 insertions(+), 92 deletions(-) diff --git a/main.py b/main.py index 057ffe9..468c044 100644 --- a/main.py +++ b/main.py @@ -6,6 +6,7 @@ from pymeasure.experiment import Results, Worker from src.classes.plotter import Plotter from src.classes.procedures.x_sweep import X_Sweep +from src.classes.ui import UI log = logging.getLogger(__name__) log.addHandler(logging.NullHandler()) @@ -13,26 +14,28 @@ log.addHandler(logging.NullHandler()) if __name__ == "__main__": console_log(log) - log.info("Constructing a RandomProcedure") - procedure = X_Sweep() - procedure.iterations = 10 + ui = UI() - data_filename = 'random.csv' - log.info("Constructing the Results with a data file: %s" % data_filename) - results = Results(procedure, data_filename) + # log.info("Constructing a RandomProcedure") + # procedure = X_Sweep() + # procedure.iterations = 10 - log.info("Constructing the Plotter") - plotter = Plotter(results) - plotter.start() - log.info("Started the Plotter") + # data_filename = 'random.csv' + # log.info("Constructing the Results with a data file: %s" % data_filename) + # results = Results(procedure, data_filename) - log.info("Constructing the Worker") - worker = Worker(results) - worker.start() - log.info("Started the Worker") + # log.info("Constructing the Plotter") + # plotter = Plotter(results, parent=ui) + # plotter.start() + # log.info("Started the Plotter") - log.info("Joining with the worker in at most 10 hours") - worker.join(timeout=36000) - log.info("Finished the measurement") + # log.info("Constructing the Worker") + # worker = Worker(results) + # worker.start() + # log.info("Started the Worker") + + # log.info("Joining with the worker in at most 10 hours") + # worker.join(timeout=36000) + # log.info("Finished the measurement") sys.exit(plotter.app.exec()) \ No newline at end of file diff --git a/random.csv b/random.csv index 85fd3c2..34458c6 100644 --- a/random.csv +++ b/random.csv @@ -1,47 +1,1298 @@ #Procedure: <src.classes.procedures.x_sweep.X_Sweep> #Parameters: # Delay Time: 0.2 s -# Loop Iterations: 10 +# Loop Iterations: 100 # Random Seed: 12345 #Data: -Iteration,Position,Voltage,Magnetic Field -0,0.0,0.45697818440486826,219.26556350247787 -1,0.1,0.4293074483607703,135.51507641501877 -2,0.2,0.11134793367233986,180.7878174005853 -3,0.3,0.4033699392617659,33.865126323970415 -4,0.4,0.06577890775332551,197.02676434735332 -5,0.5,0.7258880867140706,184.52198608244467 -6,0.6,0.8642889856630329,294.46336214221986 -7,0.7,0.53416775234496,66.75644457406948 -8,0.8,0.7658927771488983,21.405146147299405 -9,0.9,0.06433776241281686,94.83264092267812 -0,0.0,0.45697818440486826,219.26556350247787 -1,0.1,0.4293074483607703,135.51507641501877 -2,0.2,0.11134793367233986,180.7878174005853 -3,0.3,0.4033699392617659,33.865126323970415 -4,0.4,0.06577890775332551,197.02676434735332 -5,0.5,0.7258880867140706,184.52198608244467 -6,0.6,0.8642889856630329,294.46336214221986 -7,0.7,0.53416775234496,66.75644457406948 -8,0.8,0.7658927771488983,21.405146147299405 -9,0.9,0.06433776241281686,94.83264092267812 -0,0.0,0.45697818440486826,219.26556350247787 -1,0.1,0.4293074483607703,135.51507641501877 -2,0.2,0.11134793367233986,180.7878174005853 -3,0.3,0.4033699392617659,33.865126323970415 -4,0.4,0.06577890775332551,197.02676434735332 -5,0.5,0.7258880867140706,184.52198608244467 -6,0.6,0.8642889856630329,294.46336214221986 -7,0.7,0.53416775234496,66.75644457406948 -8,0.8,0.7658927771488983,21.405146147299405 -9,0.9,0.06433776241281686,94.83264092267812 -0,0.0,0.45697818440486826,219.26556350247787 -1,0.1,0.4293074483607703,135.51507641501877 -2,0.2,0.11134793367233986,180.7878174005853 -3,0.3,0.4033699392617659,33.865126323970415 -4,0.4,0.06577890775332551,197.02676434735332 -5,0.5,0.7258880867140706,184.52198608244467 -6,0.6,0.8642889856630329,294.46336214221986 -7,0.7,0.53416775234496,66.75644457406948 -8,0.8,0.7658927771488983,21.405146147299405 -9,0.9,0.06433776241281686,94.83264092267812 +Iteration,Voltage,Position,Magnetic Field +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 +10,0.6689547663930134,1.0,27.18779266843827 +11,0.08045924005172145,1.1,179.0903800207461 +12,0.9895029735998028,1.2,280.9922240277464 +13,0.899771607576651,1.3,266.73986015417745 +14,0.8850675246062539,1.4,121.1447816395899 +15,0.3681223568694908,1.5,70.76079587365449 +16,0.32789357023807475,1.6,71.0658116428908 +17,0.09348445208374823,1.7,281.97549076384786 +18,0.24716357127975663,1.8,176.951370004418 +19,0.5462523427512509,1.9,247.11472223866264 +20,0.7134741840429463,2.0,293.9687966757388 +21,0.09496089844272393,2.1,26.235196573599705 +22,0.5945517356106983,2.2,107.85284697708096 +23,0.503202858770723,2.3,41.972647772178085 +24,0.06418766957200861,2.4,31.821476871669717 +25,0.26982476891830365,2.5,118.23103444835537 +26,0.6415720624385138,2.6,139.33168193063702 +27,0.852148688755559,2.7,172.42747776615096 +28,0.8117396110721272,2.8,270.5952009842157 +29,0.7176612602173438,2.9,271.06006490861705 +30,0.4284936685665546,3.0,291.88261388482726 +31,0.5217973071158181,3.1,255.5554495324336 +32,0.036968080154673455,3.2,258.3046455746243 +33,0.39068664865502944,3.3,235.35776830843324 +34,0.08748454403379335,3.4,35.77347849574157 +35,0.12715107691482497,3.5,140.42088297524518 +36,0.20466182226830454,3.6,190.4964982963918 +37,0.2874232794715713,3.7,82.58923922320143 +38,0.3233251766687406,3.8,239.27695964596987 +39,0.9241503148111141,3.9,173.9273672765853 +40,0.7729217626727798,4.0,143.11723838388244 +41,0.4004447009118143,4.1,260.723315810255 +42,0.8675776430855793,4.2,259.261971662615 +43,0.8343923656410915,4.3,223.57458907333964 +44,0.4798457385189261,4.4,172.1191305670745 +45,0.8033569738782999,4.5,188.15438154157948 +46,0.297724515777823,4.6,143.86258629149415 +47,0.04965961546493736,4.7,290.2293333712981 +48,0.9803298005867266,4.8,24.669627947475124 +49,0.530565156095688,4.9,60.367236307282404 +50,0.8854282971684467,5.0,178.15703776272304 +51,0.4487383921507093,5.1,29.2626482465442 +52,0.9011321670135918,5.2,202.73319438086352 +53,0.2686708641131985,5.3,285.97363459056874 +54,0.007269717948942933,5.4,299.9477680795302 +55,0.8512236459901898,5.5,95.65328377806013 +56,0.35028238789930544,5.6,192.93069772031325 +57,0.4642612176122606,5.7,148.8030486814116 +58,0.4196564826434048,5.8,22.121737101857885 +59,0.9067463199959744,5.9,179.63170880971515 +60,0.555221782276848,6.0,166.43894330661047 +61,0.08667808076761907,6.1,17.560922575054416 +62,0.9913917588427866,6.2,277.0649728374667 +63,0.5183327556959347,6.3,258.97473047566376 +64,0.5305740148114836,6.4,59.439959479512815 +65,0.871678700629197,6.5,0.8755841497742889 +66,0.2114289945893364,6.6,161.89838714257493 +67,0.8013584459918834,6.7,193.23222965082073 +68,0.6415062536691598,6.8,95.14286452407681 +69,0.5293057668509065,6.9,139.11797510052054 +70,0.4038310908392325,7.0,168.93346755915968 +71,0.016613577591615858,7.1,268.06630543556423 +72,0.23676379842924689,7.2,57.783659500946335 +73,0.5868400967935739,7.3,269.3253274448916 +74,0.09291516302985936,7.4,281.3429497483519 +75,0.9361752134942518,7.5,117.75683078318637 +76,0.8082236294174889,7.6,94.28111665453484 +77,0.9986725197589653,7.7,252.4722704432262 +78,0.43210166120731797,7.8,292.88290337304016 +79,0.9109114761612153,7.9,1.3699074935879518 +80,0.07754165092949217,8.0,12.527946510459175 +81,0.8130067665015891,8.1,169.54003295411422 +82,0.5375930738089547,8.2,25.981262170966247 +83,0.46048844991062565,8.3,70.85054784921012 +84,0.43484423935490857,8.4,23.182154783808862 +85,0.3988805881499561,8.5,40.37748754434682 +86,0.1518166306499581,8.6,158.8160436387803 +87,0.5449931310755057,8.7,29.706949993416732 +88,0.30909728483054266,8.8,192.78508776547298 +89,0.14188685277642832,8.9,211.28700481823068 +90,0.3327329429771452,9.0,250.745007711819 +91,0.5855772249151071,9.1,197.28690835306298 +92,0.6434458000354423,9.2,76.69818273581429 +93,0.9996331766185877,9.3,296.49854657784937 +94,0.632514644398319,9.4,120.94771452059011 +95,0.6673179563076772,9.5,74.02802740513636 +96,0.489509914173043,9.6,40.012724492615106 +97,0.7475009569809801,9.7,273.20472507346614 +98,0.5564191505853678,9.8,261.595044217762 +99,0.7722454935101297,9.9,137.98309935016275 +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 +10,0.6689547663930134,1.0,27.18779266843827 +11,0.08045924005172145,1.1,179.0903800207461 +12,0.9895029735998028,1.2,280.9922240277464 +13,0.899771607576651,1.3,266.73986015417745 +14,0.8850675246062539,1.4,121.1447816395899 +15,0.3681223568694908,1.5,70.76079587365449 +16,0.32789357023807475,1.6,71.0658116428908 +17,0.09348445208374823,1.7,281.97549076384786 +18,0.24716357127975663,1.8,176.951370004418 +19,0.5462523427512509,1.9,247.11472223866264 +20,0.7134741840429463,2.0,293.9687966757388 +21,0.09496089844272393,2.1,26.235196573599705 +22,0.5945517356106983,2.2,107.85284697708096 +23,0.503202858770723,2.3,41.972647772178085 +24,0.06418766957200861,2.4,31.821476871669717 +25,0.26982476891830365,2.5,118.23103444835537 +26,0.6415720624385138,2.6,139.33168193063702 +27,0.852148688755559,2.7,172.42747776615096 +28,0.8117396110721272,2.8,270.5952009842157 +29,0.7176612602173438,2.9,271.06006490861705 +30,0.4284936685665546,3.0,291.88261388482726 +31,0.5217973071158181,3.1,255.5554495324336 +32,0.036968080154673455,3.2,258.3046455746243 +33,0.39068664865502944,3.3,235.35776830843324 +34,0.08748454403379335,3.4,35.77347849574157 +35,0.12715107691482497,3.5,140.42088297524518 +36,0.20466182226830454,3.6,190.4964982963918 +37,0.2874232794715713,3.7,82.58923922320143 +38,0.3233251766687406,3.8,239.27695964596987 +39,0.9241503148111141,3.9,173.9273672765853 +40,0.7729217626727798,4.0,143.11723838388244 +41,0.4004447009118143,4.1,260.723315810255 +42,0.8675776430855793,4.2,259.261971662615 +43,0.8343923656410915,4.3,223.57458907333964 +44,0.4798457385189261,4.4,172.1191305670745 +45,0.8033569738782999,4.5,188.15438154157948 +46,0.297724515777823,4.6,143.86258629149415 +47,0.04965961546493736,4.7,290.2293333712981 +48,0.9803298005867266,4.8,24.669627947475124 +49,0.530565156095688,4.9,60.367236307282404 +50,0.8854282971684467,5.0,178.15703776272304 +51,0.4487383921507093,5.1,29.2626482465442 +52,0.9011321670135918,5.2,202.73319438086352 +53,0.2686708641131985,5.3,285.97363459056874 +54,0.007269717948942933,5.4,299.9477680795302 +55,0.8512236459901898,5.5,95.65328377806013 +56,0.35028238789930544,5.6,192.93069772031325 +57,0.4642612176122606,5.7,148.8030486814116 +58,0.4196564826434048,5.8,22.121737101857885 +59,0.9067463199959744,5.9,179.63170880971515 +60,0.555221782276848,6.0,166.43894330661047 +61,0.08667808076761907,6.1,17.560922575054416 +62,0.9913917588427866,6.2,277.0649728374667 +63,0.5183327556959347,6.3,258.97473047566376 +64,0.5305740148114836,6.4,59.439959479512815 +65,0.871678700629197,6.5,0.8755841497742889 +66,0.2114289945893364,6.6,161.89838714257493 +67,0.8013584459918834,6.7,193.23222965082073 +68,0.6415062536691598,6.8,95.14286452407681 +69,0.5293057668509065,6.9,139.11797510052054 +70,0.4038310908392325,7.0,168.93346755915968 +71,0.016613577591615858,7.1,268.06630543556423 +72,0.23676379842924689,7.2,57.783659500946335 +73,0.5868400967935739,7.3,269.3253274448916 +74,0.09291516302985936,7.4,281.3429497483519 +75,0.9361752134942518,7.5,117.75683078318637 +76,0.8082236294174889,7.6,94.28111665453484 +77,0.9986725197589653,7.7,252.4722704432262 +78,0.43210166120731797,7.8,292.88290337304016 +79,0.9109114761612153,7.9,1.3699074935879518 +80,0.07754165092949217,8.0,12.527946510459175 +81,0.8130067665015891,8.1,169.54003295411422 +82,0.5375930738089547,8.2,25.981262170966247 +83,0.46048844991062565,8.3,70.85054784921012 +84,0.43484423935490857,8.4,23.182154783808862 +85,0.3988805881499561,8.5,40.37748754434682 +86,0.1518166306499581,8.6,158.8160436387803 +87,0.5449931310755057,8.7,29.706949993416732 +88,0.30909728483054266,8.8,192.78508776547298 +89,0.14188685277642832,8.9,211.28700481823068 +90,0.3327329429771452,9.0,250.745007711819 +91,0.5855772249151071,9.1,197.28690835306298 +92,0.6434458000354423,9.2,76.69818273581429 +93,0.9996331766185877,9.3,296.49854657784937 +94,0.632514644398319,9.4,120.94771452059011 +95,0.6673179563076772,9.5,74.02802740513636 +96,0.489509914173043,9.6,40.012724492615106 +97,0.7475009569809801,9.7,273.20472507346614 +98,0.5564191505853678,9.8,261.595044217762 +99,0.7722454935101297,9.9,137.98309935016275 +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 +10,0.6689547663930134,1.0,27.18779266843827 +11,0.08045924005172145,1.1,179.0903800207461 +12,0.9895029735998028,1.2,280.9922240277464 +13,0.899771607576651,1.3,266.73986015417745 +14,0.8850675246062539,1.4,121.1447816395899 +15,0.3681223568694908,1.5,70.76079587365449 +16,0.32789357023807475,1.6,71.0658116428908 +17,0.09348445208374823,1.7,281.97549076384786 +18,0.24716357127975663,1.8,176.951370004418 +19,0.5462523427512509,1.9,247.11472223866264 +20,0.7134741840429463,2.0,293.9687966757388 +21,0.09496089844272393,2.1,26.235196573599705 +22,0.5945517356106983,2.2,107.85284697708096 +23,0.503202858770723,2.3,41.972647772178085 +24,0.06418766957200861,2.4,31.821476871669717 +25,0.26982476891830365,2.5,118.23103444835537 +26,0.6415720624385138,2.6,139.33168193063702 +27,0.852148688755559,2.7,172.42747776615096 +28,0.8117396110721272,2.8,270.5952009842157 +29,0.7176612602173438,2.9,271.06006490861705 +30,0.4284936685665546,3.0,291.88261388482726 +31,0.5217973071158181,3.1,255.5554495324336 +32,0.036968080154673455,3.2,258.3046455746243 +33,0.39068664865502944,3.3,235.35776830843324 +34,0.08748454403379335,3.4,35.77347849574157 +35,0.12715107691482497,3.5,140.42088297524518 +36,0.20466182226830454,3.6,190.4964982963918 +37,0.2874232794715713,3.7,82.58923922320143 +38,0.3233251766687406,3.8,239.27695964596987 +39,0.9241503148111141,3.9,173.9273672765853 +40,0.7729217626727798,4.0,143.11723838388244 +41,0.4004447009118143,4.1,260.723315810255 +42,0.8675776430855793,4.2,259.261971662615 +43,0.8343923656410915,4.3,223.57458907333964 +44,0.4798457385189261,4.4,172.1191305670745 +45,0.8033569738782999,4.5,188.15438154157948 +46,0.297724515777823,4.6,143.86258629149415 +47,0.04965961546493736,4.7,290.2293333712981 +48,0.9803298005867266,4.8,24.669627947475124 +49,0.530565156095688,4.9,60.367236307282404 +50,0.8854282971684467,5.0,178.15703776272304 +51,0.4487383921507093,5.1,29.2626482465442 +52,0.9011321670135918,5.2,202.73319438086352 +53,0.2686708641131985,5.3,285.97363459056874 +54,0.007269717948942933,5.4,299.9477680795302 +55,0.8512236459901898,5.5,95.65328377806013 +56,0.35028238789930544,5.6,192.93069772031325 +57,0.4642612176122606,5.7,148.8030486814116 +58,0.4196564826434048,5.8,22.121737101857885 +59,0.9067463199959744,5.9,179.63170880971515 +60,0.555221782276848,6.0,166.43894330661047 +61,0.08667808076761907,6.1,17.560922575054416 +62,0.9913917588427866,6.2,277.0649728374667 +63,0.5183327556959347,6.3,258.97473047566376 +64,0.5305740148114836,6.4,59.439959479512815 +65,0.871678700629197,6.5,0.8755841497742889 +66,0.2114289945893364,6.6,161.89838714257493 +67,0.8013584459918834,6.7,193.23222965082073 +68,0.6415062536691598,6.8,95.14286452407681 +69,0.5293057668509065,6.9,139.11797510052054 +70,0.4038310908392325,7.0,168.93346755915968 +71,0.016613577591615858,7.1,268.06630543556423 +72,0.23676379842924689,7.2,57.783659500946335 +73,0.5868400967935739,7.3,269.3253274448916 +74,0.09291516302985936,7.4,281.3429497483519 +75,0.9361752134942518,7.5,117.75683078318637 +76,0.8082236294174889,7.6,94.28111665453484 +77,0.9986725197589653,7.7,252.4722704432262 +78,0.43210166120731797,7.8,292.88290337304016 +79,0.9109114761612153,7.9,1.3699074935879518 +80,0.07754165092949217,8.0,12.527946510459175 +81,0.8130067665015891,8.1,169.54003295411422 +82,0.5375930738089547,8.2,25.981262170966247 +83,0.46048844991062565,8.3,70.85054784921012 +84,0.43484423935490857,8.4,23.182154783808862 +85,0.3988805881499561,8.5,40.37748754434682 +86,0.1518166306499581,8.6,158.8160436387803 +87,0.5449931310755057,8.7,29.706949993416732 +88,0.30909728483054266,8.8,192.78508776547298 +89,0.14188685277642832,8.9,211.28700481823068 +90,0.3327329429771452,9.0,250.745007711819 +91,0.5855772249151071,9.1,197.28690835306298 +92,0.6434458000354423,9.2,76.69818273581429 +93,0.9996331766185877,9.3,296.49854657784937 +94,0.632514644398319,9.4,120.94771452059011 +95,0.6673179563076772,9.5,74.02802740513636 +96,0.489509914173043,9.6,40.012724492615106 +97,0.7475009569809801,9.7,273.20472507346614 +98,0.5564191505853678,9.8,261.595044217762 +99,0.7722454935101297,9.9,137.98309935016275 +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 +10,0.6689547663930134,1.0,27.18779266843827 +11,0.08045924005172145,1.1,179.0903800207461 +12,0.9895029735998028,1.2,280.9922240277464 +13,0.899771607576651,1.3,266.73986015417745 +14,0.8850675246062539,1.4,121.1447816395899 +15,0.3681223568694908,1.5,70.76079587365449 +16,0.32789357023807475,1.6,71.0658116428908 +17,0.09348445208374823,1.7,281.97549076384786 +18,0.24716357127975663,1.8,176.951370004418 +19,0.5462523427512509,1.9,247.11472223866264 +20,0.7134741840429463,2.0,293.9687966757388 +21,0.09496089844272393,2.1,26.235196573599705 +22,0.5945517356106983,2.2,107.85284697708096 +23,0.503202858770723,2.3,41.972647772178085 +24,0.06418766957200861,2.4,31.821476871669717 +25,0.26982476891830365,2.5,118.23103444835537 +26,0.6415720624385138,2.6,139.33168193063702 +27,0.852148688755559,2.7,172.42747776615096 +28,0.8117396110721272,2.8,270.5952009842157 +29,0.7176612602173438,2.9,271.06006490861705 +30,0.4284936685665546,3.0,291.88261388482726 +31,0.5217973071158181,3.1,255.5554495324336 +32,0.036968080154673455,3.2,258.3046455746243 +33,0.39068664865502944,3.3,235.35776830843324 +34,0.08748454403379335,3.4,35.77347849574157 +35,0.12715107691482497,3.5,140.42088297524518 +36,0.20466182226830454,3.6,190.4964982963918 +37,0.2874232794715713,3.7,82.58923922320143 +38,0.3233251766687406,3.8,239.27695964596987 +39,0.9241503148111141,3.9,173.9273672765853 +40,0.7729217626727798,4.0,143.11723838388244 +41,0.4004447009118143,4.1,260.723315810255 +42,0.8675776430855793,4.2,259.261971662615 +43,0.8343923656410915,4.3,223.57458907333964 +44,0.4798457385189261,4.4,172.1191305670745 +45,0.8033569738782999,4.5,188.15438154157948 +46,0.297724515777823,4.6,143.86258629149415 +47,0.04965961546493736,4.7,290.2293333712981 +48,0.9803298005867266,4.8,24.669627947475124 +49,0.530565156095688,4.9,60.367236307282404 +50,0.8854282971684467,5.0,178.15703776272304 +51,0.4487383921507093,5.1,29.2626482465442 +52,0.9011321670135918,5.2,202.73319438086352 +53,0.2686708641131985,5.3,285.97363459056874 +54,0.007269717948942933,5.4,299.9477680795302 +55,0.8512236459901898,5.5,95.65328377806013 +56,0.35028238789930544,5.6,192.93069772031325 +57,0.4642612176122606,5.7,148.8030486814116 +58,0.4196564826434048,5.8,22.121737101857885 +59,0.9067463199959744,5.9,179.63170880971515 +60,0.555221782276848,6.0,166.43894330661047 +61,0.08667808076761907,6.1,17.560922575054416 +62,0.9913917588427866,6.2,277.0649728374667 +63,0.5183327556959347,6.3,258.97473047566376 +64,0.5305740148114836,6.4,59.439959479512815 +65,0.871678700629197,6.5,0.8755841497742889 +66,0.2114289945893364,6.6,161.89838714257493 +67,0.8013584459918834,6.7,193.23222965082073 +68,0.6415062536691598,6.8,95.14286452407681 +69,0.5293057668509065,6.9,139.11797510052054 +70,0.4038310908392325,7.0,168.93346755915968 +71,0.016613577591615858,7.1,268.06630543556423 +72,0.23676379842924689,7.2,57.783659500946335 +73,0.5868400967935739,7.3,269.3253274448916 +74,0.09291516302985936,7.4,281.3429497483519 +75,0.9361752134942518,7.5,117.75683078318637 +76,0.8082236294174889,7.6,94.28111665453484 +77,0.9986725197589653,7.7,252.4722704432262 +78,0.43210166120731797,7.8,292.88290337304016 +79,0.9109114761612153,7.9,1.3699074935879518 +80,0.07754165092949217,8.0,12.527946510459175 +81,0.8130067665015891,8.1,169.54003295411422 +82,0.5375930738089547,8.2,25.981262170966247 +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 +10,0.6689547663930134,1.0,27.18779266843827 +11,0.08045924005172145,1.1,179.0903800207461 +12,0.9895029735998028,1.2,280.9922240277464 +13,0.899771607576651,1.3,266.73986015417745 +14,0.8850675246062539,1.4,121.1447816395899 +15,0.3681223568694908,1.5,70.76079587365449 +16,0.32789357023807475,1.6,71.0658116428908 +17,0.09348445208374823,1.7,281.97549076384786 +18,0.24716357127975663,1.8,176.951370004418 +19,0.5462523427512509,1.9,247.11472223866264 +20,0.7134741840429463,2.0,293.9687966757388 +21,0.09496089844272393,2.1,26.235196573599705 +22,0.5945517356106983,2.2,107.85284697708096 +23,0.503202858770723,2.3,41.972647772178085 +24,0.06418766957200861,2.4,31.821476871669717 +25,0.26982476891830365,2.5,118.23103444835537 +26,0.6415720624385138,2.6,139.33168193063702 +27,0.852148688755559,2.7,172.42747776615096 +28,0.8117396110721272,2.8,270.5952009842157 +29,0.7176612602173438,2.9,271.06006490861705 +30,0.4284936685665546,3.0,291.88261388482726 +31,0.5217973071158181,3.1,255.5554495324336 +32,0.036968080154673455,3.2,258.3046455746243 +33,0.39068664865502944,3.3,235.35776830843324 +34,0.08748454403379335,3.4,35.77347849574157 +35,0.12715107691482497,3.5,140.42088297524518 +36,0.20466182226830454,3.6,190.4964982963918 +37,0.2874232794715713,3.7,82.58923922320143 +38,0.3233251766687406,3.8,239.27695964596987 +39,0.9241503148111141,3.9,173.9273672765853 +40,0.7729217626727798,4.0,143.11723838388244 +41,0.4004447009118143,4.1,260.723315810255 +42,0.8675776430855793,4.2,259.261971662615 +43,0.8343923656410915,4.3,223.57458907333964 +44,0.4798457385189261,4.4,172.1191305670745 +45,0.8033569738782999,4.5,188.15438154157948 +46,0.297724515777823,4.6,143.86258629149415 +47,0.04965961546493736,4.7,290.2293333712981 +48,0.9803298005867266,4.8,24.669627947475124 +49,0.530565156095688,4.9,60.367236307282404 +50,0.8854282971684467,5.0,178.15703776272304 +51,0.4487383921507093,5.1,29.2626482465442 +52,0.9011321670135918,5.2,202.73319438086352 +53,0.2686708641131985,5.3,285.97363459056874 +54,0.007269717948942933,5.4,299.9477680795302 +55,0.8512236459901898,5.5,95.65328377806013 +56,0.35028238789930544,5.6,192.93069772031325 +57,0.4642612176122606,5.7,148.8030486814116 +58,0.4196564826434048,5.8,22.121737101857885 +59,0.9067463199959744,5.9,179.63170880971515 +60,0.555221782276848,6.0,166.43894330661047 +61,0.08667808076761907,6.1,17.560922575054416 +62,0.9913917588427866,6.2,277.0649728374667 +63,0.5183327556959347,6.3,258.97473047566376 +64,0.5305740148114836,6.4,59.439959479512815 +65,0.871678700629197,6.5,0.8755841497742889 +66,0.2114289945893364,6.6,161.89838714257493 +67,0.8013584459918834,6.7,193.23222965082073 +68,0.6415062536691598,6.8,95.14286452407681 +69,0.5293057668509065,6.9,139.11797510052054 +70,0.4038310908392325,7.0,168.93346755915968 +71,0.016613577591615858,7.1,268.06630543556423 +72,0.23676379842924689,7.2,57.783659500946335 +73,0.5868400967935739,7.3,269.3253274448916 +74,0.09291516302985936,7.4,281.3429497483519 +75,0.9361752134942518,7.5,117.75683078318637 +76,0.8082236294174889,7.6,94.28111665453484 +77,0.9986725197589653,7.7,252.4722704432262 +78,0.43210166120731797,7.8,292.88290337304016 +79,0.9109114761612153,7.9,1.3699074935879518 +80,0.07754165092949217,8.0,12.527946510459175 +81,0.8130067665015891,8.1,169.54003295411422 +82,0.5375930738089547,8.2,25.981262170966247 +83,0.46048844991062565,8.3,70.85054784921012 +84,0.43484423935490857,8.4,23.182154783808862 +85,0.3988805881499561,8.5,40.37748754434682 +86,0.1518166306499581,8.6,158.8160436387803 +87,0.5449931310755057,8.7,29.706949993416732 +88,0.30909728483054266,8.8,192.78508776547298 +89,0.14188685277642832,8.9,211.28700481823068 +90,0.3327329429771452,9.0,250.745007711819 +91,0.5855772249151071,9.1,197.28690835306298 +92,0.6434458000354423,9.2,76.69818273581429 +93,0.9996331766185877,9.3,296.49854657784937 +94,0.632514644398319,9.4,120.94771452059011 +95,0.6673179563076772,9.5,74.02802740513636 +96,0.489509914173043,9.6,40.012724492615106 +97,0.7475009569809801,9.7,273.20472507346614 +98,0.5564191505853678,9.8,261.595044217762 +99,0.7722454935101297,9.9,137.98309935016275 +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 +10,0.6689547663930134,1.0,27.18779266843827 +11,0.08045924005172145,1.1,179.0903800207461 +12,0.9895029735998028,1.2,280.9922240277464 +13,0.899771607576651,1.3,266.73986015417745 +14,0.8850675246062539,1.4,121.1447816395899 +15,0.3681223568694908,1.5,70.76079587365449 +16,0.32789357023807475,1.6,71.0658116428908 +17,0.09348445208374823,1.7,281.97549076384786 +18,0.24716357127975663,1.8,176.951370004418 +19,0.5462523427512509,1.9,247.11472223866264 +20,0.7134741840429463,2.0,293.9687966757388 +21,0.09496089844272393,2.1,26.235196573599705 +22,0.5945517356106983,2.2,107.85284697708096 +23,0.503202858770723,2.3,41.972647772178085 +24,0.06418766957200861,2.4,31.821476871669717 +25,0.26982476891830365,2.5,118.23103444835537 +26,0.6415720624385138,2.6,139.33168193063702 +27,0.852148688755559,2.7,172.42747776615096 +28,0.8117396110721272,2.8,270.5952009842157 +29,0.7176612602173438,2.9,271.06006490861705 +30,0.4284936685665546,3.0,291.88261388482726 +31,0.5217973071158181,3.1,255.5554495324336 +32,0.036968080154673455,3.2,258.3046455746243 +33,0.39068664865502944,3.3,235.35776830843324 +34,0.08748454403379335,3.4,35.77347849574157 +35,0.12715107691482497,3.5,140.42088297524518 +36,0.20466182226830454,3.6,190.4964982963918 +37,0.2874232794715713,3.7,82.58923922320143 +38,0.3233251766687406,3.8,239.27695964596987 +39,0.9241503148111141,3.9,173.9273672765853 +40,0.7729217626727798,4.0,143.11723838388244 +41,0.4004447009118143,4.1,260.723315810255 +42,0.8675776430855793,4.2,259.261971662615 +43,0.8343923656410915,4.3,223.57458907333964 +44,0.4798457385189261,4.4,172.1191305670745 +45,0.8033569738782999,4.5,188.15438154157948 +46,0.297724515777823,4.6,143.86258629149415 +47,0.04965961546493736,4.7,290.2293333712981 +48,0.9803298005867266,4.8,24.669627947475124 +49,0.530565156095688,4.9,60.367236307282404 +50,0.8854282971684467,5.0,178.15703776272304 +51,0.4487383921507093,5.1,29.2626482465442 +52,0.9011321670135918,5.2,202.73319438086352 +53,0.2686708641131985,5.3,285.97363459056874 +54,0.007269717948942933,5.4,299.9477680795302 +55,0.8512236459901898,5.5,95.65328377806013 +56,0.35028238789930544,5.6,192.93069772031325 +57,0.4642612176122606,5.7,148.8030486814116 +58,0.4196564826434048,5.8,22.121737101857885 +59,0.9067463199959744,5.9,179.63170880971515 +60,0.555221782276848,6.0,166.43894330661047 +61,0.08667808076761907,6.1,17.560922575054416 +62,0.9913917588427866,6.2,277.0649728374667 +63,0.5183327556959347,6.3,258.97473047566376 +64,0.5305740148114836,6.4,59.439959479512815 +65,0.871678700629197,6.5,0.8755841497742889 +66,0.2114289945893364,6.6,161.89838714257493 +67,0.8013584459918834,6.7,193.23222965082073 +68,0.6415062536691598,6.8,95.14286452407681 +69,0.5293057668509065,6.9,139.11797510052054 +70,0.4038310908392325,7.0,168.93346755915968 +71,0.016613577591615858,7.1,268.06630543556423 +72,0.23676379842924689,7.2,57.783659500946335 +73,0.5868400967935739,7.3,269.3253274448916 +74,0.09291516302985936,7.4,281.3429497483519 +75,0.9361752134942518,7.5,117.75683078318637 +76,0.8082236294174889,7.6,94.28111665453484 +77,0.9986725197589653,7.7,252.4722704432262 +78,0.43210166120731797,7.8,292.88290337304016 +79,0.9109114761612153,7.9,1.3699074935879518 +80,0.07754165092949217,8.0,12.527946510459175 +81,0.8130067665015891,8.1,169.54003295411422 +82,0.5375930738089547,8.2,25.981262170966247 +83,0.46048844991062565,8.3,70.85054784921012 +84,0.43484423935490857,8.4,23.182154783808862 +85,0.3988805881499561,8.5,40.37748754434682 +86,0.1518166306499581,8.6,158.8160436387803 +87,0.5449931310755057,8.7,29.706949993416732 +88,0.30909728483054266,8.8,192.78508776547298 +89,0.14188685277642832,8.9,211.28700481823068 +90,0.3327329429771452,9.0,250.745007711819 +91,0.5855772249151071,9.1,197.28690835306298 +92,0.6434458000354423,9.2,76.69818273581429 +93,0.9996331766185877,9.3,296.49854657784937 +94,0.632514644398319,9.4,120.94771452059011 +95,0.6673179563076772,9.5,74.02802740513636 +96,0.489509914173043,9.6,40.012724492615106 +97,0.7475009569809801,9.7,273.20472507346614 +98,0.5564191505853678,9.8,261.595044217762 +99,0.7722454935101297,9.9,137.98309935016275 +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 +10,0.6689547663930134,1.0,27.18779266843827 +11,0.08045924005172145,1.1,179.0903800207461 +12,0.9895029735998028,1.2,280.9922240277464 +13,0.899771607576651,1.3,266.73986015417745 +14,0.8850675246062539,1.4,121.1447816395899 +15,0.3681223568694908,1.5,70.76079587365449 +16,0.32789357023807475,1.6,71.0658116428908 +17,0.09348445208374823,1.7,281.97549076384786 +18,0.24716357127975663,1.8,176.951370004418 +19,0.5462523427512509,1.9,247.11472223866264 +20,0.7134741840429463,2.0,293.9687966757388 +21,0.09496089844272393,2.1,26.235196573599705 +22,0.5945517356106983,2.2,107.85284697708096 +23,0.503202858770723,2.3,41.972647772178085 +24,0.06418766957200861,2.4,31.821476871669717 +25,0.26982476891830365,2.5,118.23103444835537 +26,0.6415720624385138,2.6,139.33168193063702 +27,0.852148688755559,2.7,172.42747776615096 +28,0.8117396110721272,2.8,270.5952009842157 +29,0.7176612602173438,2.9,271.06006490861705 +30,0.4284936685665546,3.0,291.88261388482726 +31,0.5217973071158181,3.1,255.5554495324336 +32,0.036968080154673455,3.2,258.3046455746243 +33,0.39068664865502944,3.3,235.35776830843324 +34,0.08748454403379335,3.4,35.77347849574157 +35,0.12715107691482497,3.5,140.42088297524518 +36,0.20466182226830454,3.6,190.4964982963918 +37,0.2874232794715713,3.7,82.58923922320143 +38,0.3233251766687406,3.8,239.27695964596987 +39,0.9241503148111141,3.9,173.9273672765853 +40,0.7729217626727798,4.0,143.11723838388244 +41,0.4004447009118143,4.1,260.723315810255 +42,0.8675776430855793,4.2,259.261971662615 +43,0.8343923656410915,4.3,223.57458907333964 +44,0.4798457385189261,4.4,172.1191305670745 +45,0.8033569738782999,4.5,188.15438154157948 +46,0.297724515777823,4.6,143.86258629149415 +47,0.04965961546493736,4.7,290.2293333712981 +48,0.9803298005867266,4.8,24.669627947475124 +49,0.530565156095688,4.9,60.367236307282404 +50,0.8854282971684467,5.0,178.15703776272304 +51,0.4487383921507093,5.1,29.2626482465442 +52,0.9011321670135918,5.2,202.73319438086352 +53,0.2686708641131985,5.3,285.97363459056874 +54,0.007269717948942933,5.4,299.9477680795302 +55,0.8512236459901898,5.5,95.65328377806013 +56,0.35028238789930544,5.6,192.93069772031325 +57,0.4642612176122606,5.7,148.8030486814116 +58,0.4196564826434048,5.8,22.121737101857885 +59,0.9067463199959744,5.9,179.63170880971515 +60,0.555221782276848,6.0,166.43894330661047 +61,0.08667808076761907,6.1,17.560922575054416 +62,0.9913917588427866,6.2,277.0649728374667 +63,0.5183327556959347,6.3,258.97473047566376 +64,0.5305740148114836,6.4,59.439959479512815 +65,0.871678700629197,6.5,0.8755841497742889 +66,0.2114289945893364,6.6,161.89838714257493 +67,0.8013584459918834,6.7,193.23222965082073 +68,0.6415062536691598,6.8,95.14286452407681 +69,0.5293057668509065,6.9,139.11797510052054 +70,0.4038310908392325,7.0,168.93346755915968 +71,0.016613577591615858,7.1,268.06630543556423 +72,0.23676379842924689,7.2,57.783659500946335 +73,0.5868400967935739,7.3,269.3253274448916 +74,0.09291516302985936,7.4,281.3429497483519 +75,0.9361752134942518,7.5,117.75683078318637 +76,0.8082236294174889,7.6,94.28111665453484 +77,0.9986725197589653,7.7,252.4722704432262 +78,0.43210166120731797,7.8,292.88290337304016 +79,0.9109114761612153,7.9,1.3699074935879518 +80,0.07754165092949217,8.0,12.527946510459175 +81,0.8130067665015891,8.1,169.54003295411422 +82,0.5375930738089547,8.2,25.981262170966247 +83,0.46048844991062565,8.3,70.85054784921012 +84,0.43484423935490857,8.4,23.182154783808862 +85,0.3988805881499561,8.5,40.37748754434682 +86,0.1518166306499581,8.6,158.8160436387803 +87,0.5449931310755057,8.7,29.706949993416732 +88,0.30909728483054266,8.8,192.78508776547298 +89,0.14188685277642832,8.9,211.28700481823068 +90,0.3327329429771452,9.0,250.745007711819 +91,0.5855772249151071,9.1,197.28690835306298 +92,0.6434458000354423,9.2,76.69818273581429 +93,0.9996331766185877,9.3,296.49854657784937 +94,0.632514644398319,9.4,120.94771452059011 +95,0.6673179563076772,9.5,74.02802740513636 +96,0.489509914173043,9.6,40.012724492615106 +97,0.7475009569809801,9.7,273.20472507346614 +98,0.5564191505853678,9.8,261.595044217762 +99,0.7722454935101297,9.9,137.98309935016275 +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 +10,0.6689547663930134,1.0,27.18779266843827 +11,0.08045924005172145,1.1,179.0903800207461 +12,0.9895029735998028,1.2,280.9922240277464 +13,0.899771607576651,1.3,266.73986015417745 +14,0.8850675246062539,1.4,121.1447816395899 +15,0.3681223568694908,1.5,70.76079587365449 +16,0.32789357023807475,1.6,71.0658116428908 +17,0.09348445208374823,1.7,281.97549076384786 +18,0.24716357127975663,1.8,176.951370004418 +19,0.5462523427512509,1.9,247.11472223866264 +20,0.7134741840429463,2.0,293.9687966757388 +21,0.09496089844272393,2.1,26.235196573599705 +22,0.5945517356106983,2.2,107.85284697708096 +23,0.503202858770723,2.3,41.972647772178085 +24,0.06418766957200861,2.4,31.821476871669717 +25,0.26982476891830365,2.5,118.23103444835537 +26,0.6415720624385138,2.6,139.33168193063702 +27,0.852148688755559,2.7,172.42747776615096 +28,0.8117396110721272,2.8,270.5952009842157 +29,0.7176612602173438,2.9,271.06006490861705 +30,0.4284936685665546,3.0,291.88261388482726 +31,0.5217973071158181,3.1,255.5554495324336 +32,0.036968080154673455,3.2,258.3046455746243 +33,0.39068664865502944,3.3,235.35776830843324 +34,0.08748454403379335,3.4,35.77347849574157 +35,0.12715107691482497,3.5,140.42088297524518 +36,0.20466182226830454,3.6,190.4964982963918 +37,0.2874232794715713,3.7,82.58923922320143 +38,0.3233251766687406,3.8,239.27695964596987 +39,0.9241503148111141,3.9,173.9273672765853 +40,0.7729217626727798,4.0,143.11723838388244 +41,0.4004447009118143,4.1,260.723315810255 +42,0.8675776430855793,4.2,259.261971662615 +43,0.8343923656410915,4.3,223.57458907333964 +44,0.4798457385189261,4.4,172.1191305670745 +45,0.8033569738782999,4.5,188.15438154157948 +46,0.297724515777823,4.6,143.86258629149415 +47,0.04965961546493736,4.7,290.2293333712981 +48,0.9803298005867266,4.8,24.669627947475124 +49,0.530565156095688,4.9,60.367236307282404 +50,0.8854282971684467,5.0,178.15703776272304 +51,0.4487383921507093,5.1,29.2626482465442 +52,0.9011321670135918,5.2,202.73319438086352 +53,0.2686708641131985,5.3,285.97363459056874 +54,0.007269717948942933,5.4,299.9477680795302 +55,0.8512236459901898,5.5,95.65328377806013 +56,0.35028238789930544,5.6,192.93069772031325 +57,0.4642612176122606,5.7,148.8030486814116 +58,0.4196564826434048,5.8,22.121737101857885 +59,0.9067463199959744,5.9,179.63170880971515 +60,0.555221782276848,6.0,166.43894330661047 +61,0.08667808076761907,6.1,17.560922575054416 +62,0.9913917588427866,6.2,277.0649728374667 +63,0.5183327556959347,6.3,258.97473047566376 +64,0.5305740148114836,6.4,59.439959479512815 +65,0.871678700629197,6.5,0.8755841497742889 +66,0.2114289945893364,6.6,161.89838714257493 +67,0.8013584459918834,6.7,193.23222965082073 +68,0.6415062536691598,6.8,95.14286452407681 +69,0.5293057668509065,6.9,139.11797510052054 +70,0.4038310908392325,7.0,168.93346755915968 +71,0.016613577591615858,7.1,268.06630543556423 +72,0.23676379842924689,7.2,57.783659500946335 +73,0.5868400967935739,7.3,269.3253274448916 +74,0.09291516302985936,7.4,281.3429497483519 +75,0.9361752134942518,7.5,117.75683078318637 +76,0.8082236294174889,7.6,94.28111665453484 +77,0.9986725197589653,7.7,252.4722704432262 +78,0.43210166120731797,7.8,292.88290337304016 +79,0.9109114761612153,7.9,1.3699074935879518 +80,0.07754165092949217,8.0,12.527946510459175 +81,0.8130067665015891,8.1,169.54003295411422 +82,0.5375930738089547,8.2,25.981262170966247 +83,0.46048844991062565,8.3,70.85054784921012 +84,0.43484423935490857,8.4,23.182154783808862 +85,0.3988805881499561,8.5,40.37748754434682 +86,0.1518166306499581,8.6,158.8160436387803 +87,0.5449931310755057,8.7,29.706949993416732 +88,0.30909728483054266,8.8,192.78508776547298 +89,0.14188685277642832,8.9,211.28700481823068 +90,0.3327329429771452,9.0,250.745007711819 +91,0.5855772249151071,9.1,197.28690835306298 +92,0.6434458000354423,9.2,76.69818273581429 +93,0.9996331766185877,9.3,296.49854657784937 +94,0.632514644398319,9.4,120.94771452059011 +95,0.6673179563076772,9.5,74.02802740513636 +96,0.489509914173043,9.6,40.012724492615106 +97,0.7475009569809801,9.7,273.20472507346614 +98,0.5564191505853678,9.8,261.595044217762 +99,0.7722454935101297,9.9,137.98309935016275 +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 +10,0.6689547663930134,1.0,27.18779266843827 +11,0.08045924005172145,1.1,179.0903800207461 +12,0.9895029735998028,1.2,280.9922240277464 +13,0.899771607576651,1.3,266.73986015417745 +14,0.8850675246062539,1.4,121.1447816395899 +15,0.3681223568694908,1.5,70.76079587365449 +16,0.32789357023807475,1.6,71.0658116428908 +17,0.09348445208374823,1.7,281.97549076384786 +18,0.24716357127975663,1.8,176.951370004418 +19,0.5462523427512509,1.9,247.11472223866264 +20,0.7134741840429463,2.0,293.9687966757388 +21,0.09496089844272393,2.1,26.235196573599705 +22,0.5945517356106983,2.2,107.85284697708096 +23,0.503202858770723,2.3,41.972647772178085 +24,0.06418766957200861,2.4,31.821476871669717 +25,0.26982476891830365,2.5,118.23103444835537 +26,0.6415720624385138,2.6,139.33168193063702 +27,0.852148688755559,2.7,172.42747776615096 +28,0.8117396110721272,2.8,270.5952009842157 +29,0.7176612602173438,2.9,271.06006490861705 +30,0.4284936685665546,3.0,291.88261388482726 +31,0.5217973071158181,3.1,255.5554495324336 +32,0.036968080154673455,3.2,258.3046455746243 +33,0.39068664865502944,3.3,235.35776830843324 +34,0.08748454403379335,3.4,35.77347849574157 +35,0.12715107691482497,3.5,140.42088297524518 +36,0.20466182226830454,3.6,190.4964982963918 +37,0.2874232794715713,3.7,82.58923922320143 +38,0.3233251766687406,3.8,239.27695964596987 +39,0.9241503148111141,3.9,173.9273672765853 +40,0.7729217626727798,4.0,143.11723838388244 +41,0.4004447009118143,4.1,260.723315810255 +42,0.8675776430855793,4.2,259.261971662615 +43,0.8343923656410915,4.3,223.57458907333964 +44,0.4798457385189261,4.4,172.1191305670745 +45,0.8033569738782999,4.5,188.15438154157948 +46,0.297724515777823,4.6,143.86258629149415 +47,0.04965961546493736,4.7,290.2293333712981 +48,0.9803298005867266,4.8,24.669627947475124 +49,0.530565156095688,4.9,60.367236307282404 +50,0.8854282971684467,5.0,178.15703776272304 +51,0.4487383921507093,5.1,29.2626482465442 +52,0.9011321670135918,5.2,202.73319438086352 +53,0.2686708641131985,5.3,285.97363459056874 +54,0.007269717948942933,5.4,299.9477680795302 +55,0.8512236459901898,5.5,95.65328377806013 +56,0.35028238789930544,5.6,192.93069772031325 +57,0.4642612176122606,5.7,148.8030486814116 +58,0.4196564826434048,5.8,22.121737101857885 +59,0.9067463199959744,5.9,179.63170880971515 +60,0.555221782276848,6.0,166.43894330661047 +61,0.08667808076761907,6.1,17.560922575054416 +62,0.9913917588427866,6.2,277.0649728374667 +63,0.5183327556959347,6.3,258.97473047566376 +64,0.5305740148114836,6.4,59.439959479512815 +65,0.871678700629197,6.5,0.8755841497742889 +66,0.2114289945893364,6.6,161.89838714257493 +67,0.8013584459918834,6.7,193.23222965082073 +68,0.6415062536691598,6.8,95.14286452407681 +69,0.5293057668509065,6.9,139.11797510052054 +70,0.4038310908392325,7.0,168.93346755915968 +71,0.016613577591615858,7.1,268.06630543556423 +72,0.23676379842924689,7.2,57.783659500946335 +73,0.5868400967935739,7.3,269.3253274448916 +74,0.09291516302985936,7.4,281.3429497483519 +75,0.9361752134942518,7.5,117.75683078318637 +76,0.8082236294174889,7.6,94.28111665453484 +77,0.9986725197589653,7.7,252.4722704432262 +78,0.43210166120731797,7.8,292.88290337304016 +79,0.9109114761612153,7.9,1.3699074935879518 +80,0.07754165092949217,8.0,12.527946510459175 +81,0.8130067665015891,8.1,169.54003295411422 +82,0.5375930738089547,8.2,25.981262170966247 +83,0.46048844991062565,8.3,70.85054784921012 +84,0.43484423935490857,8.4,23.182154783808862 +85,0.3988805881499561,8.5,40.37748754434682 +86,0.1518166306499581,8.6,158.8160436387803 +87,0.5449931310755057,8.7,29.706949993416732 +88,0.30909728483054266,8.8,192.78508776547298 +89,0.14188685277642832,8.9,211.28700481823068 +90,0.3327329429771452,9.0,250.745007711819 +91,0.5855772249151071,9.1,197.28690835306298 +92,0.6434458000354423,9.2,76.69818273581429 +93,0.9996331766185877,9.3,296.49854657784937 +94,0.632514644398319,9.4,120.94771452059011 +95,0.6673179563076772,9.5,74.02802740513636 +96,0.489509914173043,9.6,40.012724492615106 +97,0.7475009569809801,9.7,273.20472507346614 +98,0.5564191505853678,9.8,261.595044217762 +99,0.7722454935101297,9.9,137.98309935016275 +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 +10,0.6689547663930134,1.0,27.18779266843827 +11,0.08045924005172145,1.1,179.0903800207461 +12,0.9895029735998028,1.2,280.9922240277464 +13,0.899771607576651,1.3,266.73986015417745 +14,0.8850675246062539,1.4,121.1447816395899 +15,0.3681223568694908,1.5,70.76079587365449 +16,0.32789357023807475,1.6,71.0658116428908 +17,0.09348445208374823,1.7,281.97549076384786 +18,0.24716357127975663,1.8,176.951370004418 +19,0.5462523427512509,1.9,247.11472223866264 +20,0.7134741840429463,2.0,293.9687966757388 +21,0.09496089844272393,2.1,26.235196573599705 +22,0.5945517356106983,2.2,107.85284697708096 +23,0.503202858770723,2.3,41.972647772178085 +24,0.06418766957200861,2.4,31.821476871669717 +25,0.26982476891830365,2.5,118.23103444835537 +26,0.6415720624385138,2.6,139.33168193063702 +27,0.852148688755559,2.7,172.42747776615096 +28,0.8117396110721272,2.8,270.5952009842157 +29,0.7176612602173438,2.9,271.06006490861705 +30,0.4284936685665546,3.0,291.88261388482726 +31,0.5217973071158181,3.1,255.5554495324336 +32,0.036968080154673455,3.2,258.3046455746243 +33,0.39068664865502944,3.3,235.35776830843324 +34,0.08748454403379335,3.4,35.77347849574157 +35,0.12715107691482497,3.5,140.42088297524518 +36,0.20466182226830454,3.6,190.4964982963918 +37,0.2874232794715713,3.7,82.58923922320143 +38,0.3233251766687406,3.8,239.27695964596987 +39,0.9241503148111141,3.9,173.9273672765853 +40,0.7729217626727798,4.0,143.11723838388244 +41,0.4004447009118143,4.1,260.723315810255 +42,0.8675776430855793,4.2,259.261971662615 +43,0.8343923656410915,4.3,223.57458907333964 +44,0.4798457385189261,4.4,172.1191305670745 +45,0.8033569738782999,4.5,188.15438154157948 +46,0.297724515777823,4.6,143.86258629149415 +47,0.04965961546493736,4.7,290.2293333712981 +48,0.9803298005867266,4.8,24.669627947475124 +49,0.530565156095688,4.9,60.367236307282404 +50,0.8854282971684467,5.0,178.15703776272304 +51,0.4487383921507093,5.1,29.2626482465442 +52,0.9011321670135918,5.2,202.73319438086352 +53,0.2686708641131985,5.3,285.97363459056874 +54,0.007269717948942933,5.4,299.9477680795302 +55,0.8512236459901898,5.5,95.65328377806013 +56,0.35028238789930544,5.6,192.93069772031325 +57,0.4642612176122606,5.7,148.8030486814116 +58,0.4196564826434048,5.8,22.121737101857885 +59,0.9067463199959744,5.9,179.63170880971515 +60,0.555221782276848,6.0,166.43894330661047 +61,0.08667808076761907,6.1,17.560922575054416 +62,0.9913917588427866,6.2,277.0649728374667 +63,0.5183327556959347,6.3,258.97473047566376 +64,0.5305740148114836,6.4,59.439959479512815 +65,0.871678700629197,6.5,0.8755841497742889 +66,0.2114289945893364,6.6,161.89838714257493 +67,0.8013584459918834,6.7,193.23222965082073 +68,0.6415062536691598,6.8,95.14286452407681 +69,0.5293057668509065,6.9,139.11797510052054 +70,0.4038310908392325,7.0,168.93346755915968 +71,0.016613577591615858,7.1,268.06630543556423 +72,0.23676379842924689,7.2,57.783659500946335 +73,0.5868400967935739,7.3,269.3253274448916 +74,0.09291516302985936,7.4,281.3429497483519 +75,0.9361752134942518,7.5,117.75683078318637 +76,0.8082236294174889,7.6,94.28111665453484 +77,0.9986725197589653,7.7,252.4722704432262 +78,0.43210166120731797,7.8,292.88290337304016 +79,0.9109114761612153,7.9,1.3699074935879518 +80,0.07754165092949217,8.0,12.527946510459175 +81,0.8130067665015891,8.1,169.54003295411422 +82,0.5375930738089547,8.2,25.981262170966247 +83,0.46048844991062565,8.3,70.85054784921012 +84,0.43484423935490857,8.4,23.182154783808862 +85,0.3988805881499561,8.5,40.37748754434682 +86,0.1518166306499581,8.6,158.8160436387803 +87,0.5449931310755057,8.7,29.706949993416732 +88,0.30909728483054266,8.8,192.78508776547298 +89,0.14188685277642832,8.9,211.28700481823068 +90,0.3327329429771452,9.0,250.745007711819 +91,0.5855772249151071,9.1,197.28690835306298 +92,0.6434458000354423,9.2,76.69818273581429 +93,0.9996331766185877,9.3,296.49854657784937 +94,0.632514644398319,9.4,120.94771452059011 +95,0.6673179563076772,9.5,74.02802740513636 +96,0.489509914173043,9.6,40.012724492615106 +97,0.7475009569809801,9.7,273.20472507346614 +98,0.5564191505853678,9.8,261.595044217762 +99,0.7722454935101297,9.9,137.98309935016275 +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 +10,0.6689547663930134,1.0,27.18779266843827 +11,0.08045924005172145,1.1,179.0903800207461 +12,0.9895029735998028,1.2,280.9922240277464 +13,0.899771607576651,1.3,266.73986015417745 +14,0.8850675246062539,1.4,121.1447816395899 +15,0.3681223568694908,1.5,70.76079587365449 +16,0.32789357023807475,1.6,71.0658116428908 +17,0.09348445208374823,1.7,281.97549076384786 +18,0.24716357127975663,1.8,176.951370004418 +19,0.5462523427512509,1.9,247.11472223866264 +20,0.7134741840429463,2.0,293.9687966757388 +21,0.09496089844272393,2.1,26.235196573599705 +22,0.5945517356106983,2.2,107.85284697708096 +23,0.503202858770723,2.3,41.972647772178085 +24,0.06418766957200861,2.4,31.821476871669717 +25,0.26982476891830365,2.5,118.23103444835537 +26,0.6415720624385138,2.6,139.33168193063702 +27,0.852148688755559,2.7,172.42747776615096 +28,0.8117396110721272,2.8,270.5952009842157 +29,0.7176612602173438,2.9,271.06006490861705 +30,0.4284936685665546,3.0,291.88261388482726 +31,0.5217973071158181,3.1,255.5554495324336 +32,0.036968080154673455,3.2,258.3046455746243 +33,0.39068664865502944,3.3,235.35776830843324 +34,0.08748454403379335,3.4,35.77347849574157 +35,0.12715107691482497,3.5,140.42088297524518 +36,0.20466182226830454,3.6,190.4964982963918 +37,0.2874232794715713,3.7,82.58923922320143 +38,0.3233251766687406,3.8,239.27695964596987 +39,0.9241503148111141,3.9,173.9273672765853 +40,0.7729217626727798,4.0,143.11723838388244 +41,0.4004447009118143,4.1,260.723315810255 +42,0.8675776430855793,4.2,259.261971662615 +43,0.8343923656410915,4.3,223.57458907333964 +44,0.4798457385189261,4.4,172.1191305670745 +45,0.8033569738782999,4.5,188.15438154157948 +46,0.297724515777823,4.6,143.86258629149415 +47,0.04965961546493736,4.7,290.2293333712981 +48,0.9803298005867266,4.8,24.669627947475124 +49,0.530565156095688,4.9,60.367236307282404 +50,0.8854282971684467,5.0,178.15703776272304 +51,0.4487383921507093,5.1,29.2626482465442 +52,0.9011321670135918,5.2,202.73319438086352 +53,0.2686708641131985,5.3,285.97363459056874 +54,0.007269717948942933,5.4,299.9477680795302 +55,0.8512236459901898,5.5,95.65328377806013 +56,0.35028238789930544,5.6,192.93069772031325 +57,0.4642612176122606,5.7,148.8030486814116 +58,0.4196564826434048,5.8,22.121737101857885 +59,0.9067463199959744,5.9,179.63170880971515 +60,0.555221782276848,6.0,166.43894330661047 +61,0.08667808076761907,6.1,17.560922575054416 +62,0.9913917588427866,6.2,277.0649728374667 +63,0.5183327556959347,6.3,258.97473047566376 +64,0.5305740148114836,6.4,59.439959479512815 +65,0.871678700629197,6.5,0.8755841497742889 +66,0.2114289945893364,6.6,161.89838714257493 +67,0.8013584459918834,6.7,193.23222965082073 +68,0.6415062536691598,6.8,95.14286452407681 +69,0.5293057668509065,6.9,139.11797510052054 +70,0.4038310908392325,7.0,168.93346755915968 +71,0.016613577591615858,7.1,268.06630543556423 +72,0.23676379842924689,7.2,57.783659500946335 +73,0.5868400967935739,7.3,269.3253274448916 +74,0.09291516302985936,7.4,281.3429497483519 +75,0.9361752134942518,7.5,117.75683078318637 +76,0.8082236294174889,7.6,94.28111665453484 +77,0.9986725197589653,7.7,252.4722704432262 +78,0.43210166120731797,7.8,292.88290337304016 +79,0.9109114761612153,7.9,1.3699074935879518 +80,0.07754165092949217,8.0,12.527946510459175 +81,0.8130067665015891,8.1,169.54003295411422 +82,0.5375930738089547,8.2,25.981262170966247 +83,0.46048844991062565,8.3,70.85054784921012 +84,0.43484423935490857,8.4,23.182154783808862 +85,0.3988805881499561,8.5,40.37748754434682 +86,0.1518166306499581,8.6,158.8160436387803 +87,0.5449931310755057,8.7,29.706949993416732 +88,0.30909728483054266,8.8,192.78508776547298 +89,0.14188685277642832,8.9,211.28700481823068 +90,0.3327329429771452,9.0,250.745007711819 +91,0.5855772249151071,9.1,197.28690835306298 +92,0.6434458000354423,9.2,76.69818273581429 +93,0.9996331766185877,9.3,296.49854657784937 +94,0.632514644398319,9.4,120.94771452059011 +95,0.6673179563076772,9.5,74.02802740513636 +96,0.489509914173043,9.6,40.012724492615106 +97,0.7475009569809801,9.7,273.20472507346614 +98,0.5564191505853678,9.8,261.595044217762 +99,0.7722454935101297,9.9,137.98309935016275 +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 +10,0.6689547663930134,1.0,27.18779266843827 +11,0.08045924005172145,1.1,179.0903800207461 +12,0.9895029735998028,1.2,280.9922240277464 +13,0.899771607576651,1.3,266.73986015417745 +14,0.8850675246062539,1.4,121.1447816395899 +15,0.3681223568694908,1.5,70.76079587365449 +16,0.32789357023807475,1.6,71.0658116428908 +17,0.09348445208374823,1.7,281.97549076384786 +18,0.24716357127975663,1.8,176.951370004418 +19,0.5462523427512509,1.9,247.11472223866264 +20,0.7134741840429463,2.0,293.9687966757388 +21,0.09496089844272393,2.1,26.235196573599705 +22,0.5945517356106983,2.2,107.85284697708096 +23,0.503202858770723,2.3,41.972647772178085 +24,0.06418766957200861,2.4,31.821476871669717 +25,0.26982476891830365,2.5,118.23103444835537 +26,0.6415720624385138,2.6,139.33168193063702 +27,0.852148688755559,2.7,172.42747776615096 +28,0.8117396110721272,2.8,270.5952009842157 +29,0.7176612602173438,2.9,271.06006490861705 +30,0.4284936685665546,3.0,291.88261388482726 +31,0.5217973071158181,3.1,255.5554495324336 +32,0.036968080154673455,3.2,258.3046455746243 +33,0.39068664865502944,3.3,235.35776830843324 +34,0.08748454403379335,3.4,35.77347849574157 +35,0.12715107691482497,3.5,140.42088297524518 +36,0.20466182226830454,3.6,190.4964982963918 +37,0.2874232794715713,3.7,82.58923922320143 +38,0.3233251766687406,3.8,239.27695964596987 +39,0.9241503148111141,3.9,173.9273672765853 +40,0.7729217626727798,4.0,143.11723838388244 +41,0.4004447009118143,4.1,260.723315810255 +42,0.8675776430855793,4.2,259.261971662615 +43,0.8343923656410915,4.3,223.57458907333964 +44,0.4798457385189261,4.4,172.1191305670745 +45,0.8033569738782999,4.5,188.15438154157948 +46,0.297724515777823,4.6,143.86258629149415 +47,0.04965961546493736,4.7,290.2293333712981 +48,0.9803298005867266,4.8,24.669627947475124 +49,0.530565156095688,4.9,60.367236307282404 +50,0.8854282971684467,5.0,178.15703776272304 +51,0.4487383921507093,5.1,29.2626482465442 +52,0.9011321670135918,5.2,202.73319438086352 +53,0.2686708641131985,5.3,285.97363459056874 +54,0.007269717948942933,5.4,299.9477680795302 +55,0.8512236459901898,5.5,95.65328377806013 +56,0.35028238789930544,5.6,192.93069772031325 +57,0.4642612176122606,5.7,148.8030486814116 +58,0.4196564826434048,5.8,22.121737101857885 +59,0.9067463199959744,5.9,179.63170880971515 +60,0.555221782276848,6.0,166.43894330661047 +61,0.08667808076761907,6.1,17.560922575054416 +62,0.9913917588427866,6.2,277.0649728374667 +63,0.5183327556959347,6.3,258.97473047566376 +64,0.5305740148114836,6.4,59.439959479512815 +65,0.871678700629197,6.5,0.8755841497742889 +66,0.2114289945893364,6.6,161.89838714257493 +67,0.8013584459918834,6.7,193.23222965082073 +68,0.6415062536691598,6.8,95.14286452407681 +69,0.5293057668509065,6.9,139.11797510052054 +70,0.4038310908392325,7.0,168.93346755915968 +71,0.016613577591615858,7.1,268.06630543556423 +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 +10,0.6689547663930134,1.0,27.18779266843827 +11,0.08045924005172145,1.1,179.0903800207461 +12,0.9895029735998028,1.2,280.9922240277464 +13,0.899771607576651,1.3,266.73986015417745 +14,0.8850675246062539,1.4,121.1447816395899 +15,0.3681223568694908,1.5,70.76079587365449 +16,0.32789357023807475,1.6,71.0658116428908 +17,0.09348445208374823,1.7,281.97549076384786 +18,0.24716357127975663,1.8,176.951370004418 +19,0.5462523427512509,1.9,247.11472223866264 +20,0.7134741840429463,2.0,293.9687966757388 +21,0.09496089844272393,2.1,26.235196573599705 +22,0.5945517356106983,2.2,107.85284697708096 +23,0.503202858770723,2.3,41.972647772178085 +24,0.06418766957200861,2.4,31.821476871669717 +25,0.26982476891830365,2.5,118.23103444835537 +26,0.6415720624385138,2.6,139.33168193063702 +27,0.852148688755559,2.7,172.42747776615096 +28,0.8117396110721272,2.8,270.5952009842157 +29,0.7176612602173438,2.9,271.06006490861705 +30,0.4284936685665546,3.0,291.88261388482726 +31,0.5217973071158181,3.1,255.5554495324336 +32,0.036968080154673455,3.2,258.3046455746243 +33,0.39068664865502944,3.3,235.35776830843324 +34,0.08748454403379335,3.4,35.77347849574157 +35,0.12715107691482497,3.5,140.42088297524518 +36,0.20466182226830454,3.6,190.4964982963918 +37,0.2874232794715713,3.7,82.58923922320143 +38,0.3233251766687406,3.8,239.27695964596987 +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 +10,0.6689547663930134,1.0,27.18779266843827 +11,0.08045924005172145,1.1,179.0903800207461 +12,0.9895029735998028,1.2,280.9922240277464 +13,0.899771607576651,1.3,266.73986015417745 +14,0.8850675246062539,1.4,121.1447816395899 +15,0.3681223568694908,1.5,70.76079587365449 +16,0.32789357023807475,1.6,71.0658116428908 +17,0.09348445208374823,1.7,281.97549076384786 +18,0.24716357127975663,1.8,176.951370004418 +19,0.5462523427512509,1.9,247.11472223866264 +20,0.7134741840429463,2.0,293.9687966757388 +21,0.09496089844272393,2.1,26.235196573599705 +22,0.5945517356106983,2.2,107.85284697708096 +23,0.503202858770723,2.3,41.972647772178085 +24,0.06418766957200861,2.4,31.821476871669717 +25,0.26982476891830365,2.5,118.23103444835537 +26,0.6415720624385138,2.6,139.33168193063702 +27,0.852148688755559,2.7,172.42747776615096 +28,0.8117396110721272,2.8,270.5952009842157 +29,0.7176612602173438,2.9,271.06006490861705 +30,0.4284936685665546,3.0,291.88261388482726 +31,0.5217973071158181,3.1,255.5554495324336 +32,0.036968080154673455,3.2,258.3046455746243 +33,0.39068664865502944,3.3,235.35776830843324 +34,0.08748454403379335,3.4,35.77347849574157 +35,0.12715107691482497,3.5,140.42088297524518 +36,0.20466182226830454,3.6,190.4964982963918 +37,0.2874232794715713,3.7,82.58923922320143 +38,0.3233251766687406,3.8,239.27695964596987 +39,0.9241503148111141,3.9,173.9273672765853 +40,0.7729217626727798,4.0,143.11723838388244 +41,0.4004447009118143,4.1,260.723315810255 +42,0.8675776430855793,4.2,259.261971662615 +43,0.8343923656410915,4.3,223.57458907333964 +44,0.4798457385189261,4.4,172.1191305670745 +45,0.8033569738782999,4.5,188.15438154157948 +46,0.297724515777823,4.6,143.86258629149415 +47,0.04965961546493736,4.7,290.2293333712981 +48,0.9803298005867266,4.8,24.669627947475124 +49,0.530565156095688,4.9,60.367236307282404 +50,0.8854282971684467,5.0,178.15703776272304 +51,0.4487383921507093,5.1,29.2626482465442 +52,0.9011321670135918,5.2,202.73319438086352 +53,0.2686708641131985,5.3,285.97363459056874 +54,0.007269717948942933,5.4,299.9477680795302 +55,0.8512236459901898,5.5,95.65328377806013 +56,0.35028238789930544,5.6,192.93069772031325 +57,0.4642612176122606,5.7,148.8030486814116 +58,0.4196564826434048,5.8,22.121737101857885 +59,0.9067463199959744,5.9,179.63170880971515 +60,0.555221782276848,6.0,166.43894330661047 +61,0.08667808076761907,6.1,17.560922575054416 +62,0.9913917588427866,6.2,277.0649728374667 +63,0.5183327556959347,6.3,258.97473047566376 +64,0.5305740148114836,6.4,59.439959479512815 +65,0.871678700629197,6.5,0.8755841497742889 +66,0.2114289945893364,6.6,161.89838714257493 +67,0.8013584459918834,6.7,193.23222965082073 +68,0.6415062536691598,6.8,95.14286452407681 +69,0.5293057668509065,6.9,139.11797510052054 +70,0.4038310908392325,7.0,168.93346755915968 +71,0.016613577591615858,7.1,268.06630543556423 +72,0.23676379842924689,7.2,57.783659500946335 +73,0.5868400967935739,7.3,269.3253274448916 +74,0.09291516302985936,7.4,281.3429497483519 +75,0.9361752134942518,7.5,117.75683078318637 +76,0.8082236294174889,7.6,94.28111665453484 +77,0.9986725197589653,7.7,252.4722704432262 +78,0.43210166120731797,7.8,292.88290337304016 +79,0.9109114761612153,7.9,1.3699074935879518 +80,0.07754165092949217,8.0,12.527946510459175 +81,0.8130067665015891,8.1,169.54003295411422 +82,0.5375930738089547,8.2,25.981262170966247 +83,0.46048844991062565,8.3,70.85054784921012 +84,0.43484423935490857,8.4,23.182154783808862 +85,0.3988805881499561,8.5,40.37748754434682 +86,0.1518166306499581,8.6,158.8160436387803 +0,0.45697818440486826,0.0,219.26556350247787 +1,0.4293074483607703,0.1,135.51507641501877 +2,0.11134793367233986,0.2,180.7878174005853 +3,0.4033699392617659,0.3,33.865126323970415 +4,0.06577890775332551,0.4,197.02676434735332 +5,0.7258880867140706,0.5,184.52198608244467 +6,0.8642889856630329,0.6,294.46336214221986 +7,0.53416775234496,0.7,66.75644457406948 +8,0.7658927771488983,0.8,21.405146147299405 +9,0.06433776241281686,0.9,94.83264092267812 diff --git a/src/classes/plotter.py b/src/classes/plotter.py index 35643ae..9ef8648 100644 --- a/src/classes/plotter.py +++ b/src/classes/plotter.py @@ -1,10 +1,43 @@ import sys from time import sleep +import pyqtgraph as pg +from PyQt5 import QtCore from pymeasure.display.Qt import QtWidgets from pymeasure.thread import StoppableThread +from pymeasure.display.widgets import PlotWidget +from pymeasure.display.curves import ResultsCurve + +class PlotUI(QtWidgets.QWidget): + def __init__(self, plotter, refresh_time=0.1, linewidth=1, parent=None): + super().__init__(parent) + self.plotter = plotter + self.refresh_time = refresh_time + columns = plotter.results.procedure.DATA_COLUMNS + + self.setWindowTitle('miniMOKE') + + self.plot_widget = PlotWidget("Plotter", columns, refresh_time=self.refresh_time, + check_status=False, linewidth=linewidth) + self.plot = self.plot_widget.plot + + self.curve = ResultsCurve(plotter.results, columns[0], columns[1], + pen=pg.mkPen(color=pg.intColor(0), width=linewidth), + antialias=False) + self.plot.addItem(self.curve) + + self.plot_widget.updated.connect(self.check_stop) + + def quit(self, evt=None): + self.close() + self.plotter.stop() + + def check_stop(self): + """ Checks if the Plotter should stop and exits the Qt main loop if so + """ + if self.plotter.should_stop(): + QtCore.QCoreApplication.instance().quit() -from .ui import UI class Plotter(StoppableThread): def __init__(self, results, refresh_time=0.1, linewidth=1): @@ -16,7 +49,7 @@ class Plotter(StoppableThread): def run(self): self.app = QtWidgets.QApplication(sys.argv) - window = UI(self, refresh_time=self.refresh_time, linewidth=self.linewidth) + window = PlotUI(self, refresh_time=self.refresh_time, linewidth=self.linewidth) self.app.aboutToQuit.connect(window.quit) window.show() self.app.exec() diff --git a/src/classes/procedures/x_sweep.py b/src/classes/procedures/x_sweep.py index 3125010..234bc95 100644 --- a/src/classes/procedures/x_sweep.py +++ b/src/classes/procedures/x_sweep.py @@ -13,7 +13,7 @@ class X_Sweep(Procedure): delay = FloatParameter('Delay Time', units='s', default=0.2) seed = Parameter('Random Seed', default='12345') - DATA_COLUMNS = ['Iteration', 'Position', 'Voltage', 'Magnetic Field'] + DATA_COLUMNS = ['Iteration', 'Voltage', 'Position', 'Magnetic Field'] def startup(self): log.info("Setting the seed of the random number generator") diff --git a/src/classes/ui.py b/src/classes/ui.py index 338b2ec..e496af0 100644 --- a/src/classes/ui.py +++ b/src/classes/ui.py @@ -1,21 +1,31 @@ from PyQt5 import QtCore +from PyQt5.QtWidgets import QMenu, QStatusBar import pyqtgraph as pg from pymeasure.display.curves import ResultsCurve -from pymeasure.display.widgets import PlotWidget from pymeasure.display.Qt import QtWidgets from .widgets.directory import DirectoryLineEdit class UI(QtWidgets.QMainWindow): - def __init__(self, plotter, refresh_time=0.1, linewidth=1, parent=None): + def __init__(self, parent=None): super().__init__(parent) - self.plotter = plotter - self.refresh_time = refresh_time - columns = plotter.results.procedure.DATA_COLUMNS self.setWindowTitle('miniMOKE') self.main = QtWidgets.QWidget(self) + menuBar = self.menuBar() + # Creating menus using a QMenu object + fileMenu = QMenu("&File", self) + menuBar.addMenu(fileMenu) + # Creating menus using a title + editMenu = menuBar.addMenu("&Edit") + helpMenu = menuBar.addMenu("&Help") + + self.statusbar = QStatusBar() + self.setStatusBar(self.statusbar) + self.statusbar.showMessage("Init window", 5000) + + vbox = QtWidgets.QVBoxLayout(self.main) vbox.setSpacing(0) @@ -32,30 +42,6 @@ class UI(QtWidgets.QMainWindow): hbox.addWidget(self.directory) vbox.addLayout(hbox) - self.plot_widget = PlotWidget("Plotter", columns, refresh_time=self.refresh_time, - check_status=False, linewidth=linewidth) - self.plot = self.plot_widget.plot - - vbox.addWidget(self.plot_widget) - - self.main.setLayout(vbox) - self.setCentralWidget(self.main) - self.main.show() - self.resize(800, 600) - - self.curve = ResultsCurve(plotter.results, columns[0], columns[1], - pen=pg.mkPen(color=pg.intColor(0), width=linewidth), - antialias=False) - self.plot.addItem(self.curve) - - self.plot_widget.updated.connect(self.check_stop) def quit(self, evt=None): - self.close() - self.plotter.stop() - - def check_stop(self): - """ Checks if the Plotter should stop and exits the Qt main loop if so - """ - if self.plotter.should_stop(): - QtCore.QCoreApplication.instance().quit() + self.close() \ No newline at end of file -- GitLab