python: Use explicit integer divisions

In Python 2, divisions of integers return an integer:

    >>> 32 / 4
    8

In Python 3 though, they return floats:

    >>> 32 / 4
    8.0

However, Python 3 has an explicit integer division operator:

    >>> 32 // 4
    8

That operator exists on Python >= 2.2, so let's use it everywhere to
make the scripts compatible with both Python 2 and 3.

In addition, using __future__.division tells Python 2 to behave the same
way as Python 3, which helps ensure the scripts produce the same output
in both versions of Python.

Signed-off-by: Mathieu Bridon <bochecha@daitauha.fr>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> (v2)
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
This commit is contained in:
Mathieu Bridon
2018-07-25 11:53:54 +02:00
committed by Dylan Baker
parent 3dc22381fa
commit 9b6746b7c0
6 changed files with 19 additions and 16 deletions

View File

@@ -26,7 +26,7 @@
# Ian Romanick <idr@us.ibm.com>
# Jeremy Kolb <jkolb@brandeis.edu>
from __future__ import print_function
from __future__ import division, print_function
import argparse
@@ -809,7 +809,7 @@ generic_%u_byte( GLint rop, const void * ptr )
# Dividing by the array size (1 for
# non-arrays) gives us this.
s = p.size() / p.get_element_count()
s = p.size() // p.get_element_count()
print(" %s __glXReadReply(dpy, %s, %s, %s);" % (return_str, s, p.name, aa))
got_reply = 1