Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG-- extra : convert_revision : a799d615ab5a3d3447b24b1b1ce24cffcde361cd
This commit is contained in:
commit
cae9210dce
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
import re, sys
|
import re, sys, math
|
||||||
|
|
||||||
def usage():
|
def usage():
|
||||||
print '''\
|
print '''\
|
||||||
|
@ -255,28 +255,47 @@ def commands(options, command, args):
|
||||||
|
|
||||||
#loop through all the stats selected
|
#loop through all the stats selected
|
||||||
for stat in stats:
|
for stat in stats:
|
||||||
avg = float(stat)
|
|
||||||
|
|
||||||
|
print "%s:" % stat.name
|
||||||
|
print "%-30s %12s %12s %4s %5s %5s %5s" % \
|
||||||
|
("run name", "average", "stdev", ">10%", ">1SDV", ">2SDV", "SAMP")
|
||||||
|
print "%-30s %12s %12s %4s %5s %5s %5s" % \
|
||||||
|
("------------------------------", "------------",
|
||||||
|
"------------", "----", "-----", "-----", "-----")
|
||||||
#loop through all the selected runs
|
#loop through all the selected runs
|
||||||
for run in runs:
|
for run in runs:
|
||||||
info.display_run = run.run;
|
info.display_run = run.run;
|
||||||
#print run.name
|
|
||||||
#print avg
|
|
||||||
runTicks = info.source.retTicks([ run ])
|
runTicks = info.source.retTicks([ run ])
|
||||||
#throw away the first one, it's 0
|
#throw away the first one, it's 0
|
||||||
runTicks.pop(0)
|
runTicks.pop(0)
|
||||||
|
stat.ticks = runTicks
|
||||||
|
avg = float(stat)
|
||||||
|
stdev = 0
|
||||||
|
numoutsideavg = 0
|
||||||
|
numoutside1std = 0
|
||||||
|
numoutside2std = 0
|
||||||
|
|
||||||
#loop through all the various ticks for each run
|
#loop through all the various ticks for each run
|
||||||
for tick in runTicks:
|
for tick in runTicks:
|
||||||
stat.ticks = str(tick)
|
stat.ticks = str(tick)
|
||||||
val = float(stat)
|
val = float(stat)
|
||||||
if (val < (avg * .9)) or (val > (avg * 1.1)):
|
if (val < (avg * .9)) or (val > (avg * 1.1)):
|
||||||
print '%s:%s is %f, which is more than 10%% of the'\
|
numoutsideavg += 1
|
||||||
'mean %f' % (run.name, stat.name, stat, avg)
|
stdev += pow((val-avg),2)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
stdev = math.sqrt(stdev / len(runTicks))
|
||||||
|
for tick in runTicks:
|
||||||
|
stat.ticks = str(tick)
|
||||||
|
val = float(stat)
|
||||||
|
if (val < (avg - stdev)) or (val > (avg + stdev)):
|
||||||
|
numoutside1std += 1
|
||||||
|
if (val < (avg - (2*stdev))) or (val > (avg + (2*stdev))):
|
||||||
|
numoutside2std += 1
|
||||||
|
|
||||||
|
print "%-30s %12s %12s %4s %5s %5s %5s" % \
|
||||||
|
(run.name, "%.1f" % avg, "%.1f" % stdev,
|
||||||
|
"%d" % numoutsideavg, "%d" % numoutside1std,
|
||||||
|
"%d" % numoutside2std, "%d" % len(runTicks))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue