File: circulartst.py

package info (click to toggle)
pypy3 7.3.19%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 212,236 kB
  • sloc: python: 2,098,316; ansic: 540,565; sh: 21,462; asm: 14,419; cpp: 4,451; makefile: 4,209; objc: 761; xml: 530; exp: 499; javascript: 314; pascal: 244; lisp: 45; csh: 12; awk: 4
file content (23 lines) | stat: -rw-r--r-- 497 bytes parent folder | download | duplicates (9)
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()