mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	See svn.python.org/external/pybench-2.0 for the original import of that version. Note that platform.py was not copied over from pybench-2.0 since it is already part of Python 2.5.
		
			
				
	
	
		
			777 lines
		
	
	
	
		
			13 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			777 lines
		
	
	
	
		
			13 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
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
 |