File: circulartst.py

package info (click to toggle)
pypy3 7.0.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 111,848 kB
  • sloc: python: 1,291,746; ansic: 74,281; asm: 5,187; cpp: 3,017; sh: 2,533; makefile: 544; xml: 243; lisp: 45; csh: 21; awk: 4
file content (23 lines) | stat: -rw-r--r-- 497 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import sys
sys.setcheckinterval(1<<20)

from array import array
class Circular(array):
    def __new__(cls):
        self = array.__new__(cls, 'd', range(65536))
        return self
    def __getitem__(self, i):
        assert len(self) == 65536 
        return array.__getitem__(self, i & 65535)

import sys
def main():
    buf = Circular()
    i = 10
    sa = 0
    while i < 200000000:
        sa += buf[i-2] + buf[i-1] + buf[i] + buf[i+1] + buf[i+2]
        i += 1
    return sa

print main()