summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python/Common/Expression.py
diff options
context:
space:
mode:
authorYunhua Feng <yunhuax.feng@intel.com>2018-08-14 15:57:47 +0800
committerYonghong Zhu <yonghong.zhu@intel.com>2018-10-13 09:54:53 +0800
commit2e300969aeff5a863098242ebd95b7d653893262 (patch)
tree16230ca7ff6023d01a961f3c2f2213b7041c06c2 /BaseTools/Source/Python/Common/Expression.py
parent00fcce91534e02f0e350c73b0c5472543f0de271 (diff)
downloadedk2-2e300969aeff5a863098242ebd95b7d653893262.tar.gz
edk2-2e300969aeff5a863098242ebd95b7d653893262.tar.bz2
edk2-2e300969aeff5a863098242ebd95b7d653893262.zip
BaseTools: change the Division Operator in the expression
PEP 238 -- Changing the Division Operator x/y to return a reasonable approximation of the mathematical result of the division ("true division") x//y to return the floor ("floor division") Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
Diffstat (limited to 'BaseTools/Source/Python/Common/Expression.py')
-rw-r--r--BaseTools/Source/Python/Common/Expression.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/BaseTools/Source/Python/Common/Expression.py b/BaseTools/Source/Python/Common/Expression.py
index 9a98236a8c..5e4e66a10e 100644
--- a/BaseTools/Source/Python/Common/Expression.py
+++ b/BaseTools/Source/Python/Common/Expression.py
@@ -425,6 +425,13 @@ class ValueExpression(BaseExpression):
else:
Val = Val3
continue
+ #
+ # PEP 238 -- Changing the Division Operator
+ # x/y to return a reasonable approximation of the mathematical result of the division ("true division")
+ # x//y to return the floor ("floor division")
+ #
+ if Op == '/':
+ Op = '//'
try:
Val = self.Eval(Op, Val, EvalFunc())
except WrnExpression as Warn:
@@ -898,7 +905,7 @@ class ValueExpressionEx(ValueExpression):
if TmpValue.bit_length() == 0:
PcdValue = '{0x00}'
else:
- for I in range((TmpValue.bit_length() + 7) / 8):
+ for I in range((TmpValue.bit_length() + 7) // 8):
TmpList.append('0x%02x' % ((TmpValue >> I * 8) & 0xff))
PcdValue = '{' + ', '.join(TmpList) + '}'
except: