diff options
Diffstat (limited to 'scripts/ref_results/index_calculation.py')
-rw-r--r-- | scripts/ref_results/index_calculation.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/scripts/ref_results/index_calculation.py b/scripts/ref_results/index_calculation.py new file mode 100644 index 00000000..5ca4a46e --- /dev/null +++ b/scripts/ref_results/index_calculation.py @@ -0,0 +1,41 @@ +import json + + +def compute_index(total_measured, ref_result, count): + try: + average = float(total_measured / count) + + except ZeroDivisionError: + average = 0 + index = average / ref_result + return index + + +def get_reference(*args): + + with open('data/ref_results/reference.json') as reference_file: + reference_djson = json.load(reference_file) + for arg in args: + ref_n = reference_djson.get(str(arg)) + reference_djson = reference_djson.get(str(arg)) + return ref_n + + +def generic_index(dict_gen, testcase, reference_num, *args): + c = len(args) + count = 0 + total = 0 + result = 0 + for k, v in dict_gen.iteritems(): + dict_temp = dict_gen[k] + if dict_gen[k]['name'] == str(testcase): + count = count + 1 + for arg in args: + if arg == args[c - 1]: + try: + result = float(dict_temp.get(str(arg))) + except ValueError: + result = float(dict_temp.get(str(arg))[:-1]) * 1000 + dict_temp = dict_temp.get(str(arg)) + total = total + result + return compute_index(total, reference_num, count) |