Portable Python script across Python version
In Python2, division between integer yields an integer, while it yields a float in Python3.
Use a combination of from __future__ import division and // operator to get a portable behavior.
Differential Revision: https://reviews.llvm.org/D55204
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@349455 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/ABITest/TypeGen.py b/utils/ABITest/TypeGen.py
index 6080894..698e358 100644
--- a/utils/ABITest/TypeGen.py
+++ b/utils/ABITest/TypeGen.py
@@ -1,5 +1,5 @@
"""Flexible enumeration of C types."""
-from __future__ import print_function
+from __future__ import division, print_function
from Enumeration import *
@@ -235,7 +235,7 @@
# Compute the number of combinations (n choose k)
def num_combinations(n, k):
- return fact(n) / (fact(k) * fact(n - k))
+ return fact(n) // (fact(k) * fact(n - k))
# Enumerate the combinations choosing k elements from the list of values
def combinations(values, k):
diff --git a/utils/analyzer/CmpRuns.py b/utils/analyzer/CmpRuns.py
index 14be963..87d5eda 100755
--- a/utils/analyzer/CmpRuns.py
+++ b/utils/analyzer/CmpRuns.py
@@ -25,7 +25,7 @@
diff = compareResults(resultsA, resultsB)
"""
-from __future__ import print_function
+from __future__ import division, print_function
from collections import defaultdict
@@ -308,7 +308,7 @@
"mean": sum(values) / len(values),
"90th %tile": computePercentile(values, 0.9),
"95th %tile": computePercentile(values, 0.95),
- "median": sorted(values)[len(values) / 2],
+ "median": sorted(values)[len(values) // 2],
"total": sum(values)
}
return combined_stats