-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmaxofH2s.py
95 lines (64 loc) · 3.16 KB
/
maxofH2s.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import pandas as pd
import math
"""
Mathematical expression for max of two H2's
First H2 = p1exp(lam1) + (1-p1)exp(lam2)
First H2 = p2exp(lam3) + (1-p2)exp(lam4)
lam1 + lam4 - lam1 p1 + lam2 p1)/((lam1 + lam4) (lam2 + lam4)) + (
1 - p2)/lam4 + (lam2 p2)/(
lam3 (lam2 + lam3)) + (1/(
lam2 + lam4) + (-(1/(lam1 + lam3)) + 1/(lam2 + lam3) + 1/(
lam1 + lam4) - 1/(lam2 + lam4)) p1) p2
"""
"""
inp_fn1 = "allfitw64-SH-iodepth16-clsize64-mtc-L1"
inp_fn2 = "allfitw64-SH-iodepth16-clsize64-mtc-L2"
df_L1 = pd.read_csv(inp_fn1+"_ST_theory.csv")
df_L2 = pd.read_csv(inp_fn2+"_ST_theory.csv")
#f_out = open(inp_fn+".csv","w")
#df_exp_iat = df_iat[df_iat.DistName == "exponential"]
df_exp_stL1 = df_L1[df_L1.DistName == "hyperexp"]
df_exp_stL2 = df_L2[df_L2.DistName == "hyperexp"]
#df_hyperexp_subtrace_stL1_write = df_exp_stL1[df_exp_stL1.fname.str.contains("_write_")]
#df_hyperexp_subtrace_stL2_write = df_exp_stL2[df_exp_stL2.fname.str.contains("_write_")]
#print(df_hyperexp_subtrace_stL1_write)
#print(df_hyperexp_subtrace_stL2_write)
subtrace = 0
r_line = ""
while subtrace <= 6 :
#lam1, lam2, lam3, lam4
lam_values = []
#p1, p2
p_values = []
df_hyperexp_subtrace_stL1_write = df_exp_stL1[df_exp_stL1.fname.str.contains("_write_ST_"+str(subtrace))]
df_hyperexp_subtrace_stL2_write = df_exp_stL2[df_exp_stL2.fname.str.contains("_write_ST_"+str(subtrace))]
#print(df_hyperexp_subtrace_stL1_write)
#print(df_hyperexp_subtrace_stL2_write)
lam_values.append(df_hyperexp_subtrace_stL1_write.Params_1.values[0])
lam_values.append(df_hyperexp_subtrace_stL1_write.Params_2.values[0])
lam_values.append(df_hyperexp_subtrace_stL2_write.Params_1.values[0])
lam_values.append(df_hyperexp_subtrace_stL2_write.Params_2.values[0])
"""
inp_fn1 = pd.read_csv("results_RTdist_w64L1.csv")
inp_fn2 = pd.read_csv("results_RTdist_w64L2.csv")
subtrace = 0
r_line = ""
while subtrace <= 8 :
#lam1, lam2, lam3, lam4
lam_values = []
#p1, p2
p_values = []
lam_values.append(inp_fn1.loc[subtrace, "mu1"])
lam_values.append(inp_fn1.loc[subtrace, "mu2"])
lam_values.append(inp_fn2.loc[subtrace, "mu1"])
lam_values.append(inp_fn2.loc[subtrace, "mu2"])
p_values.append(inp_fn1.loc[subtrace, "q"])
p_values.append(inp_fn2.loc[subtrace, "q"])
maxvalue_1 = (1 - p_values[0])/lam_values[1] + p_values[0]/lam_values[0] + (lam_values[0]+lam_values[3]- lam_values[0]*p_values[0] + lam_values[1]*p_values[0])/((lam_values[0]+lam_values[3])*(lam_values[1]+lam_values[3])) + (1- p_values[1])/lam_values[3] + p_values[1]*lam_values[1]/(lam_values[2]*(lam_values[1]+ lam_values[2]))
maxvalue_2 = p_values[1] * (1 / (lam_values[1] + lam_values[3]) + p_values[0] * (
(1 / (lam_values[1] + lam_values[2])) - (1 / (lam_values[0] + lam_values[2])) + (1 / (lam_values[0] + lam_values[3])) - (1 / (lam_values[1] + lam_values[3]))))
maxvalue_total = maxvalue_1 + maxvalue_2
print("For subtrace_", subtrace)
print(lam_values)
print("Max of L1 and L2 writes(RT)",maxvalue_total)
subtrace = subtrace + 1