ref: a0fc6008c6714e73cd44501d2b6831ca7740b914
dir: /sys/src/cmd/python/Tools/pybench/Arithmetic.py/
from pybench import Test
class SimpleIntegerArithmetic(Test):
    version = 2.0
    operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
    rounds = 120000
    def test(self):
        for i in xrange(self.rounds):
            a = 2
            b = 3
            c = 3
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2
            b = 3
            c = 3
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2
            b = 3
            c = 3
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2
            b = 3
            c = 3
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2
            b = 3
            c = 3
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
    def calibrate(self):
        for i in xrange(self.rounds):
            pass
class SimpleFloatArithmetic(Test):
    version = 2.0
    operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
    rounds = 120000
    def test(self):
        for i in xrange(self.rounds):
            a = 2.1
            b = 3.3332
            c = 3.14159
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2.1
            b = 3.3332
            c = 3.14159
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2.1
            b = 3.3332
            c = 3.14159
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2.1
            b = 3.3332
            c = 3.14159
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2.1
            b = 3.3332
            c = 3.14159
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
    def calibrate(self):
        for i in xrange(self.rounds):
            pass
class SimpleIntFloatArithmetic(Test):
    version = 2.0
    operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
    rounds = 120000
    def test(self):
        for i in xrange(self.rounds):
            a = 2
            b = 3
            c = 3.14159
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2
            b = 3
            c = 3.14159
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2
            b = 3
            c = 3.14159
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2
            b = 3
            c = 3.14159
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2
            b = 3
            c = 3.14159
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
    def calibrate(self):
        for i in xrange(self.rounds):
            pass
class SimpleLongArithmetic(Test):
    version = 2.0
    operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
    rounds = 60000
    def test(self):
        for i in xrange(self.rounds):
            a = 2220001L
            b = 100001L
            c = 30005L
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2220001L
            b = 100001L
            c = 30005L
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2220001L
            b = 100001L
            c = 30005L
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2220001L
            b = 100001L
            c = 30005L
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2220001L
            b = 100001L
            c = 30005L
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
    def calibrate(self):
        for i in xrange(self.rounds):
            pass
class SimpleComplexArithmetic(Test):
    version = 2.0
    operations = 5 * (3 + 5 + 5 + 3 + 3 + 3)
    rounds = 80000
    def test(self):
        for i in xrange(self.rounds):
            a = 2 + 3j
            b = 2.5 + 4.5j
            c = 1.2 + 6.2j
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2 + 3j
            b = 2.5 + 4.5j
            c = 1.2 + 6.2j
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2 + 3j
            b = 2.5 + 4.5j
            c = 1.2 + 6.2j
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2 + 3j
            b = 2.5 + 4.5j
            c = 1.2 + 6.2j
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
            a = 2 + 3j
            b = 2.5 + 4.5j
            c = 1.2 + 6.2j
            c = a + b
            c = b + c
            c = c + a
            c = a + b
            c = b + c
            c = c - a
            c = a - b
            c = b - c
            c = c - a
            c = b - c
            c = a / b
            c = b / a
            c = c / b
            c = a * b
            c = b * a
            c = c * b
            c = a / b
            c = b / a
            c = c / b
    def calibrate(self):
        for i in xrange(self.rounds):
            pass