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,15 +0,0 @@
1
- #!/usr/bin/perl
2
- # $Id: fibo.perl,v 1.5 2005-04-25 19:01:38 igouy-guest Exp $
3
- # http://www.bagley.org/~doug/shootout/
4
-
5
- use strict;
6
- use integer;
7
-
8
- # from Leif Stensson
9
- sub fib {
10
- return $_[0] < 2 ? 1 : fib($_[0]-2) + fib($_[0]-1);
11
- }
12
-
13
- my $N = ($ARGV[0] < 1) ? 1 : $ARGV[0];
14
- my $fib = fib($N);
15
- print "$fib\n";
File without changes
File without changes
@@ -1,7 +0,0 @@
1
- #!/usr/bin/perl -w
2
- # The Great Computer Language Shootout
3
- # http://shootout.alioth.debian.org/
4
- # contributed by Greg Buchholz
5
-
6
- $sum += 1/$_ for 1..$ARGV[0];
7
- printf "%.9f\n", $sum;
@@ -1,23 +0,0 @@
1
- #!/usr/bin/perl
2
- # $Id: hash.perl,v 1.1.1.1 2004-05-19 18:09:55 bfulgham Exp $
3
- # http://www.bagley.org/~doug/shootout/
4
-
5
- # this program is modified from:
6
- # http:#cm.bell-labs.com/cm/cs/who/bwk/interps/pap.html
7
- # Timing Trials, or, the Trials of Timing: Experiments with Scripting
8
- # and User-Interface Languages</a> by Brian W. Kernighan and
9
- # Christopher J. Van Wyk.
10
-
11
- use strict;
12
-
13
- my $n = $ARGV[0] || 1;
14
- my %X = ();
15
- my $c = 0;
16
-
17
- for my $i (1..$n) {
18
- $X{sprintf('%x', $i)} = $i;
19
- }
20
- for my $i (reverse 1..$n) {
21
- ++$c if exists $X{$i};
22
- }
23
- print "$c\n";
@@ -1,17 +0,0 @@
1
- #!/usr/bin/perl
2
- use integer;
3
-
4
- $n = $ARGV[0] || 1;
5
- %X = ();
6
- $c = 0;
7
- keys %X=$n;
8
- for ($i=0; $i<$n;) {
9
- $X{sprintf('%x', $i)} = ++$i;
10
- $X{sprintf('%x', $i)} = ++$i;
11
- $X{sprintf('%x', $i)} = ++$i;
12
- $X{sprintf('%x', $i)} = ++$i;
13
- }
14
- for ($i=$n+1; $i>0;) {
15
- $c+=exists($X{--$i}) + exists($X{--$i}) + exists($X{--$i}) + exists($X{--$i});
16
- }
17
- print $c,"\n";
@@ -1,24 +0,0 @@
1
- #!/usr/bin/perl
2
- # $Id: hash.perl-3.perl,v 1.1 2004-11-10 06:34:44 bfulgham Exp $
3
- # http://www.bagley.org/~doug/shootout/
4
-
5
- # this program is modified from:
6
- # http:#cm.bell-labs.com/cm/cs/who/bwk/interps/pap.html
7
- # Timing Trials, or, the Trials of Timing: Experiments with Scripting
8
- # and User-Interface Languages</a> by Brian W. Kernighan and
9
- # Christopher J. Van Wyk.
10
-
11
- use strict;
12
-
13
- my $n = $ARGV[0] || 1;
14
- my %X = ();
15
- keys %X = $n / 3;
16
- my $c = 0;
17
-
18
- for my $i (1..$n) {
19
- $X{sprintf('%x', $i)} = $i;
20
- }
21
- for my $i (reverse 1..$n) {
22
- ++$c if exists $X{$i};
23
- }
24
- print "$c\n";
@@ -1,16 +0,0 @@
1
- #!/usr/bin/perl
2
- # $Id: hash2.perl,v 1.1.1.1 2004-05-19 18:10:02 bfulgham Exp $
3
- # http://www.bagley.org/~doug/shootout/
4
- # with help from Steve Fink
5
-
6
- use strict;
7
-
8
- my $n = ($ARGV[0] > 0) ? $ARGV[0] : 1;
9
- my %hash1 = ();
10
- $hash1{"foo_$_"} = $_ for 0..9999;
11
- my %hash2 = ();
12
- my($k, $v);
13
- for (1..$n) {
14
- $hash2{$_} += $hash1{$_} while (defined ($_ = each %hash1));
15
- }
16
- print "$hash1{foo_1} $hash1{foo_9999} $hash2{foo_1} $hash2{foo_9999}\n";
@@ -1,65 +0,0 @@
1
- #!/usr/bin/perl
2
- # $Id: heapsort.perl,v 1.1.1.1 2004-05-19 18:10:10 bfulgham Exp $
3
- # http://www.bagley.org/~doug/shootout/
4
- # Matt Harris suggested passing the array via typeglob
5
-
6
- use strict;
7
-
8
- use constant IM => 139968;
9
- use constant IA => 3877;
10
- use constant IC => 29573;
11
-
12
- use vars qw(@ra);
13
-
14
- my $LAST = 42;
15
- sub gen_random { ($_[0] * ($LAST = ($LAST * IA + IC) % IM)) / IM }
16
-
17
- sub heapsort ($\@) {
18
- my $n = shift;
19
- # use typeglob ra to refer to array.
20
- local *ra = shift;
21
-
22
- my($rra, $i, $j);
23
-
24
- my $l = ($n >> 1) + 1;
25
- my $ir = $n;
26
- while (1) {
27
- if ($l > 1) {
28
- $rra = $ra[--$l];
29
- } else {
30
- $rra = $ra[$ir];
31
- $ra[$ir] = $ra[1];
32
- if (--$ir == 1) {
33
- $ra[1] = $rra;
34
- return;
35
- }
36
- }
37
- $i = $l;
38
- $j = $l << 1;
39
- while ($j <= $ir) {
40
- $j++ if (($j < $ir) && ($ra[$j] < $ra[$j+1]));
41
- if ($rra < $ra[$j]) {
42
- $ra[$i] = $ra[$j];
43
- $j += ($i = $j);
44
- } else {
45
- $j = $ir + 1;
46
- }
47
- }
48
- $ra[$i] = $rra;
49
- }
50
- }
51
-
52
-
53
- my $N = $ARGV[0];
54
- $N = 1 if ($N < 1);
55
-
56
- # create an array of N random doubles
57
- my @ary = ();
58
- for (my $i=1; $i<=$N; $i++) {
59
- $ary[$i] = gen_random(1.0);
60
- }
61
-
62
- heapsort($N, @ary);
63
-
64
- printf("%.10f\n", $ary[-1]);
65
-
File without changes
@@ -1,5 +0,0 @@
1
- #!/usr/bin/perl
2
- # $Id: hello.perl,v 1.1.1.1 2004-05-19 18:10:16 bfulgham Exp $
3
- # http://www.bagley.org/~doug/shootout/
4
-
5
- print "hello world\n";
@@ -1,30 +0,0 @@
1
- # The Computer Language Benchmarks Game
2
- # http://shootout.alioth.debian.org/
3
- # contributed by Karl FORNER
4
- # (borrowed fasta loading routine from Kjetil Skotheim, 2005-11-29)
5
- # Corrected again by Jesse Millikan
6
- # revised by Kuang-che Wu
7
-
8
- my ($sequence);
9
- $/ = ">";
10
- /^THREE/ and $sequence = uc(join "", grep !/^THREE/, split /\n+/) while <STDIN>;
11
-
12
- my ($l,%h,$sum) = (length $sequence);
13
- foreach my $frame (1,2) {
14
- %h = ();
15
- update_hash_for_frame($frame);
16
- $sum = $l - $frame + 1;
17
- printf "$_ %.3f\n", $h{$_}*100/$sum for sort { $h{$b} <=> $h{$a} || $a cmp $b } keys %h;
18
- print "\n";
19
- }
20
-
21
- foreach my $s (qw(GGT GGTA GGTATT GGTATTTTAATT GGTATTTTAATTTATAGT)) {
22
- update_hash_for_frame(length($s));
23
- printf "%d\t$s\n", $h{$s};
24
- }
25
-
26
- sub update_hash_for_frame {
27
- my $frame = $_[0];
28
- $h{substr($sequence,$_,$frame)}++ foreach (0..($l - $frame));
29
- }
30
-
@@ -1,48 +0,0 @@
1
- #!/usr/bin/perl
2
- # $Id: lists.perl,v 1.1.1.1 2004-05-19 18:10:24 bfulgham Exp $
3
- use strict;
4
-
5
- my $SIZE = 10000;
6
-
7
- my $ITER = $ARGV[0];
8
- $ITER = 1 if ($ITER < 1);
9
-
10
- my $result = 0;
11
- while ($ITER--) {
12
- $result = &test_lists();
13
- }
14
- print "$result\n";
15
-
16
- sub test_lists {
17
- # create a list of integers (Li1) from 1 to SIZE
18
- my @Li1 = (1..$SIZE);
19
- # copy the list to Li2 (not by individual items)
20
- my @Li2 = @Li1;
21
- my @Li3 = ();
22
- # remove each individual item from left side of Li2 and
23
- # append to right side of Li3 (preserving order)
24
- push(@Li3, shift @Li2) while (@Li2);
25
- # Li2 must now be empty
26
- # remove each individual item from right side of Li3 and
27
- # append to right side of Li2 (reversing list)
28
- push(@Li2, pop @Li3) while (@Li3);
29
- # Li3 must now be empty
30
- # reverse Li1 in place
31
- @Li1 = reverse @Li1;
32
- # check that first item is now SIZE
33
- return(0) if $Li1[0] != $SIZE;
34
- # compare Li1 and Li2 for equality
35
- my $len1 = scalar(@Li1);
36
- my $len2 = scalar(@Li2);
37
- my $lists_equal = ($len1 == $len2);
38
- return(0) if not $lists_equal;
39
- for my $i (0..($len1-1)) {
40
- if ($Li1[$i] != $Li2[$i]) {
41
- $lists_equal = 0;
42
- last;
43
- }
44
- }
45
- return(0) if not $lists_equal;
46
- # return the length of the list
47
- return($len1);
48
- }
@@ -1,32 +0,0 @@
1
- # The Computer Language Shootout
2
- # http://shootout.alioth.debian.org/
3
- # implemented by Greg Buchholz
4
- # streamlined by Kalev Soikonen
5
-
6
- sub ITER () { 50 }
7
- sub LIMITSQR () { 2.0 ** 2 }
8
-
9
- my ($w, $h, $i);
10
- my ($Cr, $Ci, $Zr, $Zi, $Tr, $Ti);
11
-
12
- sub dot {
13
- $Cr = 2 * $_[0] / $w - 1.5;
14
- $Ci = 2 * $_[1] / $h - 1.0;
15
-
16
- $Zr = $Zi = $Tr = $Ti = 0.0;
17
- $i = ITER;
18
- (
19
- $Zi = 2.0 * $Zr * $Zi + $Ci,
20
- $Zr = $Tr - $Ti + $Cr,
21
- $Ti = $Zi * $Zi,
22
- $Tr = $Zr * $Zr
23
- ) until ($Tr + $Ti > LIMITSQR || !$i--);
24
- return ($i == -1);
25
- }
26
-
27
- $w = $h = shift || 80;
28
- print "P4\n$w $h\n";
29
- for my $y (0..$h-1) {
30
- print pack 'B*', pack 'C*', map dot($_, $y), 0..$w-1;
31
- }
32
-
@@ -1,59 +0,0 @@
1
- #!/usr/bin/perl
2
- # $Id: matrix.perl,v 1.1.1.1 2004-05-19 18:10:34 bfulgham Exp $
3
- # http://www.bagley.org/~doug/shootout/
4
-
5
- # This program based on the original from:
6
- # "The What, Why, Who, and Where of Python" By Aaron R. Watters
7
- # http://www.networkcomputing.com/unixworld/tutorial/005/005.html
8
-
9
- # modified to pass rows and cols, and avoid matrix size checks
10
- # I've sped up the original quite a bit by removing some loop
11
- # invariants and declaring "use integer"
12
-
13
- use strict;
14
- use integer;
15
-
16
- my $size = 30;
17
-
18
- sub mkmatrix {
19
- my($rows, $cols) = @_;
20
- --$rows; --$cols;
21
- my $count = 1;
22
- my @mx = ();
23
- foreach (0 .. $rows) {
24
- my @row = ();
25
- $row[$_] = $count++ foreach (0 .. $cols);
26
- push(@mx, \@row);
27
- }
28
- return(\@mx);
29
- }
30
-
31
- sub mmult {
32
- my ($rows, $cols, $m1, $m2) = @_;
33
- my @m3 = ();
34
- --$rows; --$cols;
35
- for my $i (0 .. $rows) {
36
- my @row = ();
37
- my $m1i = $m1->[$i];
38
- for my $j (0 .. $cols) {
39
- my $val = 0;
40
- for my $k (0 .. $cols) {
41
- $val += $m1i->[$k] * $m2->[$k]->[$j];
42
- }
43
- push(@row, $val);
44
- }
45
- push(@m3, \@row);
46
- }
47
- return(\@m3);
48
- }
49
-
50
- my $N = $ARGV[0] || 1;
51
-
52
- my $m1 = mkmatrix($size, $size);
53
- my $m2 = mkmatrix($size, $size);
54
- my $mm;
55
- while ($N--) {
56
- $mm = mmult($size, $size, $m1, $m2);
57
- }
58
- print "$mm->[0]->[0] $mm->[2]->[3] $mm->[3]->[2] $mm->[4]->[4]\n";
59
-
File without changes
File without changes
@@ -1,27 +0,0 @@
1
- # The Computer Language Benchmarks Game
2
- # http://shootout.alioth.debian.org/
3
- # contributed by Sean O'Rourke
4
-
5
- use threads;
6
- use Thread::Queue;
7
-
8
- my $t = 500;
9
- my $n = shift;
10
-
11
- my @q : shared;
12
- @q = map { new Thread::Queue } 1..$t;
13
-
14
- for my $i (1..$t-1) {
15
- (async {
16
- while (!$done) {
17
- $q[$i]->enqueue(1+$q[$i-1]->dequeue);
18
- }
19
- })->detach;
20
- }
21
-
22
- for (1..$n) {
23
- $q[0]->enqueue(0);
24
- $sum += $q[-1]->dequeue + 1;
25
- }
26
-
27
- print "$sum\n";
@@ -1,66 +0,0 @@
1
- #!/usr/bin/perl
2
- # $Id: methcall.perl,v 1.1.1.1 2004-05-19 18:10:41 bfulgham Exp $
3
- # http://www.bagley.org/~doug/shootout/
4
- # with help from Ben Tilly
5
-
6
- package Toggle;
7
-
8
- sub new {
9
- my($class, $start_state) = @_;
10
- bless( { Bool => $start_state }, $class );
11
- }
12
-
13
- sub value {
14
- (shift)->{Bool};
15
- }
16
-
17
- sub activate {
18
- my $self = shift;
19
- $self->{Bool} ^= 1;
20
- return($self);
21
- }
22
-
23
-
24
- package NthToggle;
25
- our @ISA = qw(Toggle);
26
-
27
- sub new {
28
- my($class, $start_state, $max_counter) = @_;
29
- my $self = $class->SUPER::new($start_state);
30
- $self->{CountMax} = $max_counter;
31
- $self->{Counter} = 0;
32
- return($self);
33
- }
34
-
35
- sub activate {
36
- my $self = shift;
37
- if (++$self->{Counter} >= $self->{CountMax}) {
38
- $self->{Bool} ^= 1;
39
- $self->{Counter} = 0;
40
- }
41
- return($self);
42
- }
43
-
44
-
45
- package main;
46
-
47
- sub main {
48
- my $NUM = $ARGV[0];
49
- $NUM = 1 if ($NUM < 1);
50
-
51
- my $val = 1;
52
- my $toggle = Toggle->new($val);
53
- for (1..$NUM) {
54
- $val = $toggle->activate->value;
55
- }
56
- print (($val) ? "true\n" : "false\n");
57
-
58
- $val = 1;
59
- my $ntoggle = NthToggle->new($val, 3);
60
- for (1..$NUM) {
61
- $val = $ntoggle->activate->value;
62
- }
63
- print (($val) ? "true\n" : "false\n");
64
- }
65
-
66
- main();