chrislo-sourceclassifier 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. data/Manifest +0 -312
  2. data/Rakefile +2 -2
  3. data/sourceclassifier.gemspec +6 -6
  4. metadata +4 -316
  5. data/sources/gcc/ackermann.gcc-2.gcc +0 -93
  6. data/sources/gcc/ackermann.gcc-3.gcc +0 -20
  7. data/sources/gcc/ary.gcc +0 -40
  8. data/sources/gcc/binarytrees.gcc +0 -136
  9. data/sources/gcc/binarytrees.gcc-2.gcc +0 -140
  10. data/sources/gcc/binarytrees.gcc-3.gcc +0 -134
  11. data/sources/gcc/chameneos.gcc +0 -117
  12. data/sources/gcc/chameneos.gcc-2.gcc +0 -134
  13. data/sources/gcc/chameneos.gcc-3.gcc +0 -120
  14. data/sources/gcc/chameneosredux.gcc +0 -306
  15. data/sources/gcc/echo.gcc +0 -144
  16. data/sources/gcc/except.gcc +0 -52
  17. data/sources/gcc/fannkuch.gcc +0 -105
  18. data/sources/gcc/fannkuch.gcc-2.gcc +0 -94
  19. data/sources/gcc/fasta.gcc +0 -158
  20. data/sources/gcc/fasta.gcc-2.gcc +0 -132
  21. data/sources/gcc/fasta.gcc-3.gcc +0 -145
  22. data/sources/gcc/fasta.gcc-4.gcc +0 -141
  23. data/sources/gcc/fibo.gcc +0 -20
  24. data/sources/gcc/harmonic.gcc +0 -22
  25. data/sources/gcc/hash.gcc +0 -31
  26. data/sources/gcc/hash2.gcc +0 -38
  27. data/sources/gcc/heapsort.gcc +0 -72
  28. data/sources/gcc/hello.gcc-2.gcc +0 -12
  29. data/sources/gcc/hello.gcc-3.gcc +0 -20
  30. data/sources/gcc/knucleotide.gcc +0 -173
  31. data/sources/gcc/knucleotide.gcc-2.gcc +0 -168
  32. data/sources/gcc/lists.gcc +0 -226
  33. data/sources/gcc/magicsquares.gcc +0 -378
  34. data/sources/gcc/mandelbrot.gcc +0 -84
  35. data/sources/gcc/mandelbrot.gcc-2.gcc +0 -63
  36. data/sources/gcc/mandelbrot.gcc-3.gcc +0 -91
  37. data/sources/gcc/mandelbrot.gcc-4.gcc +0 -78
  38. data/sources/gcc/matrix.gcc +0 -66
  39. data/sources/gcc/message.gcc-2.gcc +0 -72
  40. data/sources/gcc/message.gcc-3.gcc +0 -64
  41. data/sources/gcc/methcall.gcc +0 -89
  42. data/sources/gcc/moments.gcc +0 -120
  43. data/sources/gcc/nbody.gcc +0 -142
  44. data/sources/gcc/nbody.gcc-2.gcc +0 -143
  45. data/sources/gcc/nbody.gcc-3.gcc +0 -142
  46. data/sources/gcc/nestedloop.gcc +0 -25
  47. data/sources/gcc/nsieve.gcc +0 -35
  48. data/sources/gcc/nsievebits.gcc-2.gcc +0 -37
  49. data/sources/gcc/nsievebits.gcc-3.gcc +0 -53
  50. data/sources/gcc/objinst.gcc +0 -95
  51. data/sources/gcc/partialsums.gcc +0 -86
  52. data/sources/gcc/partialsums.gcc-3.gcc +0 -81
  53. data/sources/gcc/partialsums.gcc-4.gcc +0 -68
  54. data/sources/gcc/pidigits.gcc +0 -105
  55. data/sources/gcc/primes.gcc +0 -75
  56. data/sources/gcc/prodcons.gcc +0 -86
  57. data/sources/gcc/random.gcc +0 -29
  58. data/sources/gcc/raytracer.gcc +0 -125
  59. data/sources/gcc/raytracer.gcc-2.gcc +0 -181
  60. data/sources/gcc/recursive.gcc +0 -68
  61. data/sources/gcc/recursive.gcc-2.gcc +0 -55
  62. data/sources/gcc/regexdna.gcc-2.gcc +0 -126
  63. data/sources/gcc/regexmatch.gcc +0 -136
  64. data/sources/gcc/revcomp.gcc +0 -85
  65. data/sources/gcc/revcomp.gcc-2.gcc +0 -88
  66. data/sources/gcc/revcomp.gcc-4.gcc +0 -71
  67. data/sources/gcc/reversefile.gcc +0 -103
  68. data/sources/gcc/reversefile.gcc-2.gcc +0 -56
  69. data/sources/gcc/sieve.gcc +0 -34
  70. data/sources/gcc/spectralnorm.gcc +0 -54
  71. data/sources/gcc/spellcheck.gcc +0 -72
  72. data/sources/gcc/spellcheck.gcc-2.gcc +0 -61
  73. data/sources/gcc/strcat.gcc +0 -38
  74. data/sources/gcc/sumcol.gcc-2.gcc +0 -98
  75. data/sources/gcc/sumcol.gcc-3.gcc +0 -22
  76. data/sources/gcc/sumcol.gcc-4.gcc +0 -18
  77. data/sources/gcc/sumcol.gcc-5.gcc +0 -32
  78. data/sources/gcc/takfp.gcc +0 -23
  79. data/sources/gcc/tcp-stream.gcc +0 -122
  80. data/sources/gcc/tcpecho.gcc +0 -122
  81. data/sources/gcc/tcpecho.gcc-2.gcc +0 -136
  82. data/sources/gcc/tcprequest.gcc +0 -122
  83. data/sources/gcc/threadring.gcc +0 -73
  84. data/sources/gcc/wc.gcc +0 -52
  85. data/sources/gcc/wc.gcc-2.gcc +0 -40
  86. data/sources/gcc/wc.gcc-3.gcc +0 -46
  87. data/sources/gcc/wordfreq.gcc-2.gcc +0 -85
  88. data/sources/perl/ackermann.perl +0 -28
  89. data/sources/perl/ackermann.perl-2.perl +0 -25
  90. data/sources/perl/ackermann.perl-3.perl +0 -20
  91. data/sources/perl/ackermann.perl-4.perl +0 -18
  92. data/sources/perl/ary.perl +0 -25
  93. data/sources/perl/ary.perl-2.perl +0 -23
  94. data/sources/perl/binarytrees.perl +0 -66
  95. data/sources/perl/binarytrees.perl-2.perl +0 -71
  96. data/sources/perl/chameneos.perl +0 -67
  97. data/sources/perl/echo.perl +0 -81
  98. data/sources/perl/except.perl +0 -73
  99. data/sources/perl/fannkuch.perl +0 -44
  100. data/sources/perl/fannkuch.perl-2.perl +0 -38
  101. data/sources/perl/fasta.perl +0 -112
  102. data/sources/perl/fasta.perl-2.perl +0 -135
  103. data/sources/perl/fasta.perl-4.perl +0 -122
  104. data/sources/perl/fibo.perl +0 -15
  105. data/sources/perl/fibo.perl-2.perl +0 -0
  106. data/sources/perl/fibo.perl-3.perl +0 -0
  107. data/sources/perl/harmonic.perl +0 -7
  108. data/sources/perl/hash.perl +0 -23
  109. data/sources/perl/hash.perl-2.perl +0 -17
  110. data/sources/perl/hash.perl-3.perl +0 -24
  111. data/sources/perl/hash2.perl +0 -16
  112. data/sources/perl/heapsort.perl +0 -65
  113. data/sources/perl/heapsort.perl-2.perl +0 -0
  114. data/sources/perl/hello.perl +0 -5
  115. data/sources/perl/knucleotide.perl-2.perl +0 -30
  116. data/sources/perl/lists.perl +0 -48
  117. data/sources/perl/mandelbrot.perl-2.perl +0 -32
  118. data/sources/perl/matrix.perl +0 -59
  119. data/sources/perl/matrix.perl-2.perl +0 -0
  120. data/sources/perl/matrix.perl-3.perl +0 -0
  121. data/sources/perl/message.perl +0 -27
  122. data/sources/perl/methcall.perl +0 -66
  123. data/sources/perl/moments.perl +0 -44
  124. data/sources/perl/nbody.perl +0 -108
  125. data/sources/perl/nestedloop.perl +0 -28
  126. data/sources/perl/nsieve.perl-2.perl +0 -41
  127. data/sources/perl/nsieve.perl-4.perl +0 -43
  128. data/sources/perl/nsievebits.perl +0 -37
  129. data/sources/perl/objinst.perl +0 -73
  130. data/sources/perl/partialsums.perl-3.perl +0 -31
  131. data/sources/perl/pidigits.perl +0 -52
  132. data/sources/perl/pidigits.perl-2.perl +0 -47
  133. data/sources/perl/process.perl +0 -50
  134. data/sources/perl/prodcons.perl +0 -47
  135. data/sources/perl/random.perl-4.perl +0 -17
  136. data/sources/perl/recursive.perl-2.perl +0 -57
  137. data/sources/perl/regexdna.perl +0 -48
  138. data/sources/perl/regexdna.perl-2.perl +0 -43
  139. data/sources/perl/regexdna.perl-3.perl +0 -50
  140. data/sources/perl/regexdna.perl-4.perl +0 -49
  141. data/sources/perl/regexdna.perl-5.perl +0 -42
  142. data/sources/perl/regexdna.perl-6.perl +0 -43
  143. data/sources/perl/regexmatch.perl +0 -35
  144. data/sources/perl/revcomp.perl-2.perl +0 -34
  145. data/sources/perl/reversefile.perl +0 -8
  146. data/sources/perl/reversefile.perl-2.perl +0 -0
  147. data/sources/perl/reversefile.perl-3.perl +0 -0
  148. data/sources/perl/sieve.perl +0 -23
  149. data/sources/perl/spectralnorm.perl-2.perl +0 -54
  150. data/sources/perl/spellcheck.perl +0 -24
  151. data/sources/perl/strcat.perl +0 -13
  152. data/sources/perl/strcat.perl-2.perl +0 -0
  153. data/sources/perl/sumcol.perl +0 -8
  154. data/sources/perl/takfp.perl +0 -23
  155. data/sources/perl/takfp.perl-3.perl +0 -20
  156. data/sources/perl/tcpecho.perl +0 -61
  157. data/sources/perl/tcprequest.perl +0 -61
  158. data/sources/perl/tcpstream.perl +0 -61
  159. data/sources/perl/threadring.perl +0 -55
  160. data/sources/perl/threadring.perl-2.perl +0 -43
  161. data/sources/perl/wc.perl +0 -20
  162. data/sources/perl/wc.perl-2.perl +0 -14
  163. data/sources/perl/wordfreq.perl +0 -22
  164. data/sources/perl/wordfreq.perl-3.perl +0 -0
  165. data/sources/perl/wordfreq.perl3.perl +0 -0
  166. data/sources/python/ackermann.python +0 -21
  167. data/sources/python/ary.python +0 -19
  168. data/sources/python/binarytrees.python +0 -39
  169. data/sources/python/binarytrees.python-3.python +0 -44
  170. data/sources/python/chameneos.python-6.python +0 -73
  171. data/sources/python/chameneosredux.python +0 -126
  172. data/sources/python/chameneosredux.python-2.python +0 -122
  173. data/sources/python/dispatch.python +0 -176
  174. data/sources/python/dispatch.python-2.python +0 -136
  175. data/sources/python/echo.python +0 -64
  176. data/sources/python/except.python +0 -62
  177. data/sources/python/fannkuch.python +0 -50
  178. data/sources/python/fannkuch.python-2.python +0 -54
  179. data/sources/python/fasta.python-2.python +0 -79
  180. data/sources/python/fibo.python +0 -17
  181. data/sources/python/fibo.python-2.python +0 -0
  182. data/sources/python/fibo.python-3.python +0 -0
  183. data/sources/python/harmonic.python-2.python +0 -9
  184. data/sources/python/hash.python +0 -21
  185. data/sources/python/hash.python-2.python +0 -0
  186. data/sources/python/hash2.python +0 -30
  187. data/sources/python/heapsort.python-3.python +0 -66
  188. data/sources/python/hello.python +0 -5
  189. data/sources/python/implicitode.python +0 -231
  190. data/sources/python/knucleotide.python +0 -55
  191. data/sources/python/lists.python +0 -44
  192. data/sources/python/magicsquares.python +0 -145
  193. data/sources/python/mandelbrot.python +0 -44
  194. data/sources/python/mandelbrot.python-2.python +0 -35
  195. data/sources/python/mandelbrot.python-3.python +0 -46
  196. data/sources/python/matrix.python +0 -34
  197. data/sources/python/matrix.python-2.python +0 -23
  198. data/sources/python/message.python +0 -24
  199. data/sources/python/message.python-2.python +0 -20
  200. data/sources/python/message.python-3.python +0 -19
  201. data/sources/python/meteor.python +0 -210
  202. data/sources/python/meteor.python-2.python +0 -192
  203. data/sources/python/methcall.python +0 -51
  204. data/sources/python/moments.python +0 -65
  205. data/sources/python/nbody.python +0 -123
  206. data/sources/python/nbody.python-2.python +0 -120
  207. data/sources/python/nestedloop.python +0 -24
  208. data/sources/python/nsieve.python +0 -27
  209. data/sources/python/nsieve.python-2.python +0 -23
  210. data/sources/python/nsieve.python-4.python +0 -25
  211. data/sources/python/nsievebits.python +0 -27
  212. data/sources/python/nsievebits.python-2.python +0 -43
  213. data/sources/python/objinst.python +0 -53
  214. data/sources/python/partialsums.python +0 -37
  215. data/sources/python/partialsums.python-2.python +0 -35
  216. data/sources/python/partialsums.python-3.python +0 -48
  217. data/sources/python/pidigits.python +0 -38
  218. data/sources/python/pidigits.python-3.python +0 -63
  219. data/sources/python/pidigits.python-4.python +0 -24
  220. data/sources/python/process.python +0 -51
  221. data/sources/python/process.python-2.python +0 -133
  222. data/sources/python/prodcons.python +0 -51
  223. data/sources/python/prodcons.python-2.python +0 -0
  224. data/sources/python/random.python +0 -27
  225. data/sources/python/raytracer.python +0 -203
  226. data/sources/python/recursive.python +0 -35
  227. data/sources/python/regexdna.python +0 -39
  228. data/sources/python/regexdna.python-2.python +0 -34
  229. data/sources/python/regexmatch.python +0 -36
  230. data/sources/python/revcomp.python-3.python +0 -31
  231. data/sources/python/reversefile.python +0 -13
  232. data/sources/python/reversefile.python-2.python +0 -0
  233. data/sources/python/reversefile.python-3.python +0 -0
  234. data/sources/python/sieve.python +0 -50
  235. data/sources/python/spectralnorm.python-2.python +0 -36
  236. data/sources/python/spellcheck.python +0 -17
  237. data/sources/python/strcat.python +0 -35
  238. data/sources/python/strcat.python-2.python +0 -0
  239. data/sources/python/sumcol.python-2.python +0 -0
  240. data/sources/python/sumcol.python-3.python +0 -0
  241. data/sources/python/takfp.python +0 -19
  242. data/sources/python/tcpecho.python +0 -67
  243. data/sources/python/tcprequest.python +0 -67
  244. data/sources/python/tcpstream.python +0 -67
  245. data/sources/python/threadring.python +0 -47
  246. data/sources/python/threadring.python-2.python +0 -40
  247. data/sources/python/threadring.python-3.python +0 -34
  248. data/sources/python/wc.python-2.python +0 -19
  249. data/sources/python/wordfreq.python +0 -43
  250. data/sources/python/wordfreq.python-2.python +0 -0
  251. data/sources/python/wordfreq.python-3.python +0 -28
  252. data/sources/python/wordfreq.python-4.python +0 -38
  253. data/sources/python/wordfreq.python-5.python +0 -39
  254. data/sources/ruby/ackermann.ruby +0 -17
  255. data/sources/ruby/ackermann.ruby-5.ruby +0 -153
  256. data/sources/ruby/ary.ruby +0 -22
  257. data/sources/ruby/binarytrees.ruby-2.ruby +0 -55
  258. data/sources/ruby/chameneos.ruby-2.ruby +0 -71
  259. data/sources/ruby/dispatch.ruby +0 -114
  260. data/sources/ruby/echo.ruby +0 -41
  261. data/sources/ruby/except.ruby +0 -61
  262. data/sources/ruby/except.ruby-2.ruby +0 -61
  263. data/sources/ruby/fannkuch.ruby +0 -42
  264. data/sources/ruby/fasta.ruby +0 -81
  265. data/sources/ruby/fibo.ruby +0 -15
  266. data/sources/ruby/harmonic.ruby-2.ruby +0 -15
  267. data/sources/ruby/hash.ruby +0 -19
  268. data/sources/ruby/hash2.ruby +0 -23
  269. data/sources/ruby/heapsort.ruby +0 -55
  270. data/sources/ruby/hello.ruby +0 -6
  271. data/sources/ruby/knucleotide.ruby-2.ruby +0 -44
  272. data/sources/ruby/lists.ruby +0 -46
  273. data/sources/ruby/mandelbrot.ruby-3.ruby +0 -63
  274. data/sources/ruby/matrix.ruby +0 -40
  275. data/sources/ruby/matrix.ruby-2.ruby +0 -30
  276. data/sources/ruby/message.ruby +0 -29
  277. data/sources/ruby/message.ruby-2.ruby +0 -24
  278. data/sources/ruby/meteor.ruby +0 -386
  279. data/sources/ruby/meteor.ruby-2.ruby +0 -561
  280. data/sources/ruby/methcall.ruby +0 -58
  281. data/sources/ruby/methcall.ruby-2.ruby +0 -54
  282. data/sources/ruby/moments.ruby +0 -64
  283. data/sources/ruby/nbody.ruby-2.ruby +0 -145
  284. data/sources/ruby/nestedloop.ruby +0 -22
  285. data/sources/ruby/nsieve.ruby +0 -36
  286. data/sources/ruby/nsieve.ruby-2.ruby +0 -25
  287. data/sources/ruby/nsievebits.ruby-2.ruby +0 -42
  288. data/sources/ruby/objinst.ruby +0 -58
  289. data/sources/ruby/partialsums.ruby +0 -39
  290. data/sources/ruby/pidigits.ruby +0 -92
  291. data/sources/ruby/pidigits.ruby-2.ruby +0 -109
  292. data/sources/ruby/prodcons.ruby +0 -41
  293. data/sources/ruby/random.ruby +0 -17
  294. data/sources/ruby/recursive.ruby-2.ruby +0 -53
  295. data/sources/ruby/regexdna.ruby +0 -32
  296. data/sources/ruby/regexdna.ruby-2.ruby +0 -38
  297. data/sources/ruby/regexmatch.ruby +0 -33
  298. data/sources/ruby/revcomp.ruby +0 -28
  299. data/sources/ruby/reversefile.ruby +0 -7
  300. data/sources/ruby/sieve.ruby +0 -30
  301. data/sources/ruby/spectralnorm.ruby +0 -48
  302. data/sources/ruby/spellcheck.ruby +0 -18
  303. data/sources/ruby/spellcheck.ruby-2.ruby +0 -0
  304. data/sources/ruby/strcat.ruby +0 -12
  305. data/sources/ruby/strcat.ruby-2.ruby +0 -12
  306. data/sources/ruby/sumcol.ruby +0 -12
  307. data/sources/ruby/sumcol.ruby-2.ruby +0 -5
  308. data/sources/ruby/takfp.ruby +0 -15
  309. data/sources/ruby/tcpecho.ruby +0 -45
  310. data/sources/ruby/tcprequest.ruby +0 -45
  311. data/sources/ruby/tcpstream.ruby +0 -45
  312. data/sources/ruby/threadring.ruby +0 -61
  313. data/sources/ruby/threadring.ruby-2.ruby +0 -33
  314. data/sources/ruby/wc.ruby +0 -15
  315. data/sources/ruby/wordfreq.ruby +0 -17
  316. data/sources/ruby/wordfreq.ruby2.ruby +0 -0
@@ -1,53 +0,0 @@
1
- #!/usr/bin/python
2
- # http://www.bagley.org/~doug/shootout/
3
-
4
- import sys
5
-
6
- class Toggle:
7
- def __init__(self, start_state):
8
- self.bool = start_state
9
- def value(self):
10
- return(self.bool)
11
- def activate(self):
12
- self.bool = not self.bool
13
- return(self)
14
-
15
- class NthToggle(Toggle):
16
- def __init__(self, start_state, max_counter):
17
- Toggle.__init__(self, start_state)
18
- self.count_max = max_counter
19
- self.counter = 0
20
- def activate(self):
21
- self.counter += 1
22
- if (self.counter >= self.count_max):
23
- self.bool = not self.bool
24
- self.counter = 0
25
- return(self)
26
-
27
-
28
- def main():
29
- NUM = int(sys.argv[1])
30
- if NUM < 1:
31
- NUM = 1
32
-
33
- toggle = Toggle(1)
34
- for i in xrange(0,5):
35
- if toggle.activate().value():
36
- print "true"
37
- else:
38
- print "false"
39
- for i in xrange(0,NUM):
40
- toggle = Toggle(1)
41
-
42
- print ""
43
-
44
- ntoggle = NthToggle(1, 3)
45
- for i in xrange(0,8):
46
- if ntoggle.activate().value():
47
- print "true"
48
- else:
49
- print "false"
50
- for i in xrange(0,NUM):
51
- ntoggle = NthToggle(1, 3)
52
-
53
- main()
@@ -1,37 +0,0 @@
1
- # The Computer Language Benchmarks Game
2
- # http://shootout.alioth.debian.org/
3
- #
4
- # contributed by Josh Goldfoot
5
- # modified by Mike Klaas
6
- # modified by Dani Nanz 2007-08-28, also considering input from Tupteq
7
-
8
- import sys
9
- import math
10
-
11
- def doit(n, sin=math.sin, cos=math.cos):
12
-
13
- alt = -1.
14
- twothirds = 2. / 3.
15
- k = s0 = 1.
16
- s1 = s2 = s3 = s4 = s5 = s6 = s7 = s8 = 0.
17
- while k <= n:
18
- k2 = k * k
19
- k3 = k2 * k
20
- ks, kc = sin(k), cos(k)
21
- alt = -alt
22
- s0 += twothirds ** k
23
- s1 += k ** -.5
24
- s2 += 1. / (k * (k + 1.))
25
- s3 += 1. / (k3 * ks * ks)
26
- s4 += 1. / (k3 * kc * kc)
27
- s5 += 1. / k
28
- s6 += 1. / k2
29
- s7 += alt / k
30
- s8 += alt / (k + k - 1.)
31
- k += 1.
32
- fmt = '\n%0.9f\t'
33
- nms = ['(2/3)^k', 'k^-0.5', '1/k(k+1)', 'Flint Hills', 'Cookson Hills',
34
- 'Harmonic', 'Riemann Zeta', 'Alternating Harmonic', 'Gregory']
35
- print (fmt[1:] + fmt.join(nms)) % (s0, s1, s2, s3, s4, s5, s6, s7, s8)
36
-
37
- doit(float(sys.argv[1]))
@@ -1,35 +0,0 @@
1
- # The Computer Language Benchmarks Game
2
- # http://shootout.alioth.debian.org/
3
- #
4
- # contributed by Daniel Nanz 2008-03-12
5
-
6
-
7
- import sys
8
- import numpy
9
-
10
- def doit(n, np=numpy):
11
-
12
- k = np.arange(1, n + 1)
13
- alt = (2 * (k & 1)) - 1
14
- k = np.double(k)
15
- k2 = k * k
16
- k3 = k * k2
17
- kc = np.cos(k)
18
- ks = np.sin(k)
19
-
20
- sums = (((2. / 3.) ** k).sum() + 1.,
21
- (k ** -.5).sum(),
22
- (1. / (k * (k + 1.))).sum(),
23
- (1. / (k3 * ks * ks)).sum(),
24
- (1. / (k3 * kc * kc)).sum(),
25
- (1. / k).sum(),
26
- (1. / k2).sum(),
27
- (alt / k).sum(),
28
- (alt / (k + k - 1.)).sum())
29
-
30
- fmt = '\n%0.9f\t'
31
- nms = ['(2/3)^k', 'k^-0.5', '1/k(k+1)', 'Flint Hills', 'Cookson Hills',
32
- 'Harmonic', 'Riemann Zeta', 'Alternating Harmonic', 'Gregory']
33
- print (fmt[1:] + fmt.join(nms)) % sums
34
-
35
- doit(int(sys.argv[1]))
@@ -1,48 +0,0 @@
1
- # The Computer Language Shootout
2
- # http://shootout.alioth.debian.org/
3
- #
4
- # contributed by Daniel Nanz 2008-03-18
5
-
6
- import sys
7
- import numpy
8
-
9
- def doit(n, buf_size=50000, np=numpy):
10
-
11
- n_low = 1
12
- if buf_size <= n:
13
- todo = buf_size
14
- else:
15
- todo = n
16
- sums = np.zeros(9, dtype=np.double)
17
- sums[0] += 1.
18
- while todo > 0:
19
- n_high = n_low + todo
20
- k = np.arange(n_low, n_high, dtype=np.int8)
21
- alt = (2 * (k & 1)) - 1
22
- k = np.arange(n_low, n_high, dtype=np.double)
23
- k2 = k * k
24
- k3 = k * k2
25
- ks = np.sin(k)
26
- kc = np.cos(k)
27
- sums += map(np.sum,
28
- ((2. / 3.) ** k,
29
- k ** -.5,
30
- 1. / (k * (k + 1.)),
31
- 1. / (k3 * ks * ks),
32
- 1. / (k3 * kc * kc),
33
- 1. / k,
34
- 1. / k2,
35
- alt / k,
36
- alt / (k + k - 1.)))
37
- n_low = n_high
38
- if (n - buf_size) > n_low:
39
- todo = buf_size
40
- else:
41
- todo = n - n_low + 1
42
-
43
- fmt = '\n%0.9f\t'
44
- nms = ['(2/3)^k', 'k^-0.5', '1/k(k+1)', 'Flint Hills', 'Cookson Hills',
45
- 'Harmonic', 'Riemann Zeta', 'Alternating Harmonic', 'Gregory']
46
- print (fmt[1:] + fmt.join(nms)) % tuple(sums)
47
-
48
- doit(int(sys.argv[1]))
@@ -1,38 +0,0 @@
1
-
2
- import sys
3
- from itertools import *
4
-
5
- def gen_x():
6
- return imap(lambda k: (k, 4*k + 2, 0, 2*k + 1), count(1))
7
-
8
- def compose((aq, ar, as_, at), (bq, br, bs, bt)):
9
- return (aq * bq,
10
- aq * br + ar * bt,
11
- as_ * bq + at * bs,
12
- as_ * br + at * bt)
13
-
14
- def extract((q, r, s, t), j):
15
- return (q*j + r) // (s*j + t)
16
-
17
- def pi_digits():
18
- z = (1, 0, 0, 1)
19
- x = gen_x()
20
- while 1:
21
- y = extract(z, 3)
22
- while y != extract(z, 4):
23
- z = compose(z, x.next())
24
- y = extract(z, 3)
25
- z = compose((10, -10*y, 0, 1), z)
26
- yield y
27
-
28
- def main():
29
- n = int(sys.argv[1])
30
- digits = pi_digits()
31
- width = 10
32
- for i in xrange(width, n+1, width):
33
- print "%s\t:%d" % ("".join(imap(str, islice(digits, width))), i)
34
- if n % width > 0:
35
- print "%s\t:%d" % ("".join(imap(str, islice(digits, n % width))).ljust(width), n)
36
-
37
-
38
- main()
@@ -1,63 +0,0 @@
1
- # The Computer Language Benchmarks Game
2
- # http://shootout.alioth.debian.org/
3
- #
4
- # contributed by - not known -
5
- # modified by Pilho Kim (first GMP version)
6
- # modified by Dani Nanz (2007-09-14)
7
-
8
- import sys
9
- import itertools
10
- import gmpy
11
-
12
-
13
- mpz0, mpz1 = gmpy.mpz(0), gmpy.mpz(1)
14
- mpz2, mpz3 = gmpy.mpz(2), gmpy.mpz(3)
15
- mpz4, mpz10 = gmpy.mpz(4), gmpy.mpz(10)
16
-
17
-
18
- def gen_x(k=mpz0):
19
-
20
- while 1:
21
- k += mpz1
22
- yield (k, mpz4 * k + mpz2, mpz0, mpz2 * k + mpz1)
23
-
24
-
25
- def compose((a, b, c, d), (e, f, g, h)):
26
-
27
- return (a * e,
28
- a * f + b * h,
29
- c * e + d * g,
30
- c * f + d * h)
31
-
32
-
33
- def extract((a, b, c, d), j):
34
- return (a * j + b) // (c * j + d)
35
-
36
-
37
- def pi_digits():
38
-
39
- z = (mpz1, mpz0, mpz0, mpz1)
40
- x = gen_x()
41
- while 1:
42
- y = extract(z, mpz3)
43
- while y != extract(z, mpz4):
44
- z = compose(z, x.next())
45
- y = extract(z, mpz3)
46
- z = compose((mpz10, -mpz10 * y, mpz0, mpz1), z)
47
- yield str(y)
48
-
49
-
50
- def main(islice=itertools.islice):
51
-
52
- n = int(sys.argv[1])
53
- digits = pi_digits()
54
- w = 10
55
- out = []
56
- for i in xrange(w, n+1, w):
57
- out.extend([''.join(islice(digits, w)), i])
58
- print ('%s\t:%d\n' * (len(out) / 2)) % tuple(out),
59
- if n % w > 0:
60
- print "%s\t:%d" % (''.join(islice(digits, n % w)).ljust(w), n)
61
-
62
-
63
- main()
@@ -1,24 +0,0 @@
1
- # The Computer Language Benchmarks Game
2
- # http://shootout.alioth.debian.org/
3
- #
4
- # contributed by Dani Nanz (2007-09-21)
5
-
6
- import sys
7
- import gmpy
8
-
9
- def main(n):
10
-
11
- pi = str(gmpy.pi(int(3.35 * n)))
12
- pi_tmp = ''.join([pi[0], pi[2:]])
13
- pistr = pi_tmp[0 : n]
14
- w = 10
15
- out = []
16
- for i in xrange(0, n - w + 1, w):
17
- out.extend([pistr[i : i + w] , i + w])
18
- print ('%s\t:%d\n' * (len(out) / 2)) % tuple(out),
19
- if n % w > 0:
20
- print "%s\t:%d" % ((pistr[-(n % w):]).ljust(w), n)
21
-
22
-
23
- main(int(sys.argv[1]))
24
-
@@ -1,51 +0,0 @@
1
- #!/usr/bin/python -OO
2
- # The Computer Language Shootout Benchmarks
3
- # http://shootout.alioth.debian.org/
4
- #
5
- # contributed by Kevin Carson
6
-
7
- from threading import Thread
8
- from Queue import Queue
9
- from sys import argv
10
-
11
-
12
- class link(Thread) :
13
- def __init__(self, next) :
14
- Thread.__init__(self)
15
- self.next = next
16
- self.inq = Queue(1)
17
-
18
- def run(self) :
19
- self.store = self.inq.get()
20
- self.next.inq.put(self.store + 1)
21
-
22
-
23
- class terminus(Thread) :
24
- def __init__(self) :
25
- Thread.__init__(self)
26
- self.inq = Queue(1)
27
-
28
- def run(self) :
29
- self.sum = self.inq.get()
30
- print "%d" % self.sum
31
-
32
-
33
- N = int(argv[1])
34
-
35
- # Create the chain of threads then fire them up
36
- chain_length = N + 1
37
- tasks = [None] * chain_length
38
- tasks[N] = terminus()
39
- tasks[N - 1] = link(tasks[N])
40
-
41
- for i in xrange(N - 2, -1, -1) :
42
- tasks[i] = link(tasks[i + 1])
43
-
44
- for i in xrange(chain_length) :
45
- tasks[i].start()
46
-
47
- # Feed the chain with an integer message
48
- tasks[0].inq.put(0)
49
-
50
- # Wait upon the terminus process
51
- tasks[N].join()
@@ -1,133 +0,0 @@
1
- #!/usr/bin/python -OO
2
- # The Computer Language Shootout Benchmarks
3
- # http://shootout.alioth.debian.org/
4
- #
5
- # contributed by Antoine Pitrou
6
-
7
- import sys
8
-
9
- #
10
- # A very simple cooperative threads package using generators,
11
- #
12
-
13
- def singleton(cls):
14
- instance = []
15
- def wrapper(*args, **kargs):
16
- if not instance:
17
- instance.append(cls(*args, **kargs))
18
- return instance[0]
19
- return wrapper
20
-
21
- class WaitObject(object):
22
- def __init__(self, switcher=None):
23
- self.switcher = switcher or global_switcher()
24
- self.waiters = []
25
-
26
- def get_waiter(self):
27
- try:
28
- return self.waiters.pop()
29
- except IndexError:
30
- return None
31
-
32
- def add_waiter(self, waiter):
33
- self.waiters.append(waiter)
34
-
35
- def set_ready(self, ready):
36
- self.switcher.set_ready(self, ready)
37
-
38
- class Queue(WaitObject):
39
- def __init__(self):
40
- WaitObject.__init__(self)
41
- self.data = []
42
-
43
- def put(self, value):
44
- self.data.append(value)
45
- self.set_ready(True)
46
-
47
- def get(self):
48
- self.set_ready(len(self.data) > 1)
49
- return self.data.pop(0)
50
-
51
- class _Ready(WaitObject):
52
- def __init__(self):
53
- WaitObject.__init__(self)
54
- self.set_ready(True)
55
-
56
- # Special-casing Ready as a singleton is important for scalability
57
- Ready = singleton(_Ready)
58
-
59
- class Thread(object):
60
- def __init__(self, switcher=None):
61
- self.switcher = switcher or global_switcher()
62
- self.switcher.add_thread(self)
63
-
64
- class Switcher(object):
65
- def __init__(self):
66
- self.threads = set()
67
- self.ready_objects = set()
68
-
69
- def add_thread(self, thread):
70
- Ready().add_waiter(thread)
71
- thread.runner = thread.run()
72
- self.threads.add(thread)
73
-
74
- def set_ready(self, wait_object, ready):
75
- if ready:
76
- self.ready_objects.add(wait_object)
77
- else:
78
- self.ready_objects.discard(wait_object)
79
-
80
- def run(self):
81
- while len(self.threads):
82
- for r in self.ready_objects:
83
- thread = r.get_waiter()
84
- if not thread or not thread.runner:
85
- continue
86
- try:
87
- wait_object = thread.runner.next()
88
- except StopIteration:
89
- thread.runner = None
90
- self.threads.remove(thread)
91
- else:
92
- wait_object.add_waiter(thread)
93
- break
94
-
95
- global_switcher = singleton(Switcher)
96
-
97
- #
98
- # Here the problem-specific definitions
99
- #
100
-
101
- class Link(Thread):
102
- def __init__(self, next):
103
- Thread.__init__(self)
104
- self.next = next
105
- self.incoming = Queue()
106
-
107
- def run(self):
108
- yield self.incoming
109
- self.store = self.incoming.get()
110
- self.next.incoming.put(self.store + 1)
111
-
112
- class Terminus(Thread):
113
- def __init__(self):
114
- Thread.__init__(self)
115
- self.incoming = Queue()
116
-
117
- def run(self):
118
- yield self.incoming
119
- self.sum = self.incoming.get()
120
- print "%d" % self.sum
121
-
122
- def main():
123
- N = int(sys.argv[1])
124
-
125
- # Create the chain of threads then run them all
126
- task = Terminus()
127
- for i in xrange(N):
128
- task = Link(task)
129
- task.incoming.put(0)
130
-
131
- global_switcher().run()
132
-
133
- main()