Skip to content
Snippets Groups Projects
Commit 027a0273 authored by ncteisen's avatar ncteisen
Browse files

Address github comments

parent 131d2f19
No related branches found
No related tags found
No related merge requests found
......@@ -30,8 +30,7 @@
from scipy import stats
import math
_THRESHOLD = 1e-10
_DEFAULT_THRESHOLD = 1e-10
def scale(a, mul):
return [x * mul for x in a]
......@@ -40,19 +39,18 @@ def scale(a, mul):
def cmp(a, b):
return stats.ttest_ind(a, b)
def speedup(new, old):
def speedup(new, old, threshold = _DEFAULT_THRESHOLD):
if (len(set(new))) == 1 and new == old: return 0
s0, p0 = cmp(new, old)
if math.isnan(p0): return 0
if s0 == 0: return 0
if p0 > _THRESHOLD: return 0
if p0 > _DEFAULT_THRESHOLD: return 0
if s0 < 0:
pct = 1
while pct < 100:
sp, pp = cmp(new, scale(old, 1 - pct / 100.0))
if sp > 0: break
if pp > _THRESHOLD: break
if pp > _DEFAULT_THRESHOLD: break
pct += 1
return -(pct - 1)
else:
......@@ -60,13 +58,13 @@ def speedup(new, old):
while pct < 10000:
sp, pp = cmp(new, scale(old, 1 + pct / 100.0))
if sp < 0: break
if pp > _THRESHOLD: break
if pp > _DEFAULT_THRESHOLD: break
pct += 1
return pct - 1
if __name__ == "__main__":
new = [0.0, 0.0, 0.0, 0.0]
old=[2.96608e-06, 3.35076e-06, 3.45384e-06, 3.34407e-06]
old = [2.96608e-06, 3.35076e-06, 3.45384e-06, 3.34407e-06]
print speedup(new, old, 1e-5)
print speedup(old, new, 1e-5)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment