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,44 +0,0 @@
1
- # The Computer Language Benchmarks Game
2
- # http://shootout.alioth.debian.org/
3
- # Initial port from C by Steve Clark
4
- # Rewrite by Kalev Soikonen
5
- # Modified by Kuang-che Wu
6
-
7
- use integer;
8
-
9
- sub fannkuch {
10
- my ($n) = shift;
11
- my ($iter, $flips, $maxflips, $i);
12
- my (@q, @p, @count);
13
-
14
- $iter = $maxflips = 0;
15
- @p = @count = (1..$n);
16
- $m = $n - 1;
17
-
18
- TRY: while (1) {
19
- if ($iter < 30) {
20
- print @p, "\n";
21
- $iter++;
22
- }
23
-
24
- if ($p[0] != 1 && $p[$m] != $n) {
25
- @q = @p;
26
- for ($flips=0; $q[0] != 1; $flips++) {
27
- unshift @q, reverse splice @q, 0, $q[0];
28
- }
29
- $maxflips = $flips if ($flips > $maxflips);
30
- }
31
-
32
- for my$i(1..$m) {
33
- splice @p, $i, 0, shift @p;
34
- next TRY if (--$count[$i]);
35
- $count[$i] = $i + 1;
36
- }
37
- return $maxflips;
38
- }
39
- }
40
-
41
- for (shift || 7) {
42
- print "Pfannkuchen($_) = ".fannkuch($_)."\n";
43
- }
44
-
@@ -1,38 +0,0 @@
1
- # The Computer Language Shootout
2
- # http://shootout.alioth.debian.org/
3
- # Initial port from C by Steve Clark
4
- # Rewrite by Kalev Soikonen
5
-
6
- sub fannkuch {
7
- my ($n) = shift;
8
- my ($iter, $flips, $maxflips, $i);
9
- my (@q, @p, @count);
10
-
11
- $iter = $maxflips = 0;
12
- @p = @count = (1..$n);
13
-
14
- TRY: while (1) {
15
- print @p, "\n" if ($iter++ < 30);
16
-
17
- # splice @count, 0, $i, (1..$i);
18
-
19
- $flips = 0;
20
- for (@q = @p; $q[0] != 1; ) {
21
- unshift @q, reverse splice @q, 0, $q[0];
22
- $flips++;
23
- }
24
- $maxflips = $flips if ($flips > $maxflips);
25
-
26
- for ($i = 1; $i < $n; $i++) {
27
- splice @p, $i, 0, shift @p;
28
- next TRY if (--$count[$i]);
29
- $count[$i] = $i + 1;
30
- }
31
- return $maxflips;
32
- }
33
- }
34
-
35
- for (shift || 7) {
36
- print "Pfannkuchen($_) = ".fannkuch($_)."\n";
37
- }
38
-
@@ -1,112 +0,0 @@
1
- # The Computer Language Shootout
2
- # http://shootout.alioth.debian.org/
3
- #
4
- # contributed by David Pyke
5
- # tweaked by Danny Sauer
6
- # Butchered by Jesse Millikan
7
-
8
- use constant IM => 139968;
9
- use constant IA => 3877;
10
- use constant IC => 29573;
11
-
12
- use constant LINELENGTH => 60;
13
-
14
- my $LAST = 42;
15
-
16
- sub makeCumulative {
17
- my($genelist) = @_;
18
- my $cp = 0.0;
19
-
20
- foreach (@$genelist){
21
- $_->[1] = $cp += $_->[1];
22
- }
23
- }
24
-
25
- sub makeRandomFasta {
26
- my($id,$desc,$n,$genelist) = @_;
27
-
28
- print ">$id $desc\n";
29
- my $pick, $r;
30
-
31
- while($n > 0){
32
- $pick='';
33
-
34
- # Get LINELENGTH chars or what's left of $n
35
- CHAR: foreach (1 .. ($n > LINELENGTH ? LINELENGTH : $n)){
36
- $rand = ($LAST = ($LAST * IA + IC) % IM) / IM;
37
-
38
- # Select gene and append it
39
- foreach (@$genelist){
40
- if($rand < $_->[1]){
41
- $pick .= $_->[0];
42
- next CHAR;
43
- }
44
- }
45
- }
46
-
47
- print "$pick\n";
48
- $n -= LINELENGTH;
49
- }
50
- }
51
-
52
- # Print $n characters of $s (repeated if nessary) with newlines every LINELENGTH
53
- sub makeRepeatFasta {
54
- my($id,$desc,$s,$n) = @_;
55
-
56
- print ">$id $desc\n";
57
-
58
- my $ss;
59
- while($n > 0){
60
- # Overfill $ss with $s
61
- $ss .= $s while length $ss < LINELENGTH;
62
- # Print LINELENGTH chars or whatever's left of $n
63
- print substr($ss,0,$n > LINELENGTH ? LINELENGTH : $n,""), "\n";
64
- $n -= LINELENGTH;
65
- }
66
- }
67
-
68
- my $iub = [
69
- [a, 0.27],
70
- [c, 0.12],
71
- [g, 0.12],
72
- [t, 0.27],
73
- [B, 0.02],
74
- [D, 0.02],
75
- [H, 0.02],
76
- [K, 0.02],
77
- [M, 0.02],
78
- [N, 0.02],
79
- [R, 0.02],
80
- [S, 0.02],
81
- [V, 0.02],
82
- [W, 0.02],
83
- [Y, 0.02]
84
- ];
85
-
86
- my $homosapiens = [
87
- [a, 0.3029549426680],
88
- [c, 0.1979883004921],
89
- [g, 0.1975473066391],
90
- [t, 0.3015094502008]
91
- ];
92
-
93
- $alu =
94
- 'GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG' .
95
- 'GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA' .
96
- 'CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT' .
97
- 'ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA' .
98
- 'GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG' .
99
- 'AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC' .
100
- 'AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA';
101
-
102
- #main
103
-
104
- my $n = ($ARGV[0] || 1000) ;
105
-
106
- makeCumulative $iub;
107
- makeCumulative $homosapiens;
108
-
109
- makeRepeatFasta ('ONE', 'Homo sapiens alu', $alu, $n*2);
110
- makeRandomFasta ('TWO', 'IUB ambiguity codes', $n*3, $iub);
111
- makeRandomFasta ('THREE', 'Homo sapiens frequency', $n*5, $homosapiens);
112
-
@@ -1,135 +0,0 @@
1
- #!/usr/bin/perl
2
-
3
- # The Great Computer Language Shootout
4
- # http://shootout.alioth.debian.org/
5
- #
6
- # contributed by David Pyke
7
- # tweaked by Danny Sauer
8
-
9
- use constant IM => 139968;
10
- use constant IA => 3877;
11
- use constant IC => 29573;
12
-
13
- use constant LINELENGTH => 60;
14
-
15
- my $LAST = 42;
16
- sub gen_random ($) {
17
- return ( ($_[0] * ($LAST = ($LAST * IA + IC) % IM)) / IM );
18
- }
19
-
20
- sub makeCumulative($){
21
- my($genelist) = @_;
22
- $cp = 0.0;
23
-
24
- foreach (@$genelist){
25
- $_->[1] = $cp += $_->[1];
26
- }
27
- }
28
-
29
- sub selectRandom($){
30
- my($genelist) = @_;
31
- $r = gen_random (1);
32
-
33
- foreach (@$genelist){
34
- if ($r < $_->[1]){ return $_->[0]; }
35
- }
36
- }
37
-
38
-
39
- sub makeRandomFasta($$$$){
40
- #void makeRandomFasta (const char * id, const char * desc, const struct aminoacids * genelist, int count, int n) {
41
- my($id,$desc,$n,$genelist) = @_;
42
-
43
- print ">$id $desc\n";
44
- $pick='';
45
-
46
- # print whole lines
47
- foreach (1 .. int($n / LINELENGTH) ){
48
- foreach (1 .. LINELENGTH ){
49
- $pick .= selectRandom($genelist);
50
- }
51
- print "$pick\n";
52
- $pick = '';
53
- }
54
- #print remaining line (if required)
55
- if ($n % LINELENGTH){
56
- foreach (1 .. $n % LINELENGTH ){
57
- $pick .= selectRandom($genelist);
58
- }
59
- print "$pick\n";
60
- }
61
- }
62
-
63
- sub makeRepeatFasta($$$$){
64
- #void makeRepeatFasta (const char * id, const char * desc, const char * s, int n) {
65
- # we want to print $n characters of $s (repeated if nessary) with newlines every LINELENGTH
66
- my($id,$desc,$s,$n) = @_;
67
-
68
- print ">$id $desc\n";
69
-
70
- # what we need, and the extra (if any) will be discarded.
71
- foreach (1 .. int($n / LINELENGTH) ){
72
- while (length $ss < LINELENGTH){
73
- $ss .= $s;
74
- }
75
- print substr($ss,0,LINELENGTH), "\n";
76
- $ss = substr($ss,LINELENGTH);
77
- }
78
- #final_line
79
- while (length $ss < LINELENGTH){
80
- $ss .= $s;
81
- }
82
- print substr($ss, 0, ($n % LINELENGTH)), "\n";
83
- print STDERR "\n";
84
- }
85
-
86
-
87
- my $iub = [
88
- [ 'a', 0.27 ],
89
- [ 'c', 0.12 ],
90
- [ 'g', 0.12 ],
91
- [ 't', 0.27 ],
92
- [ 'B', 0.02 ],
93
- [ 'D', 0.02 ],
94
- [ 'H', 0.02 ],
95
- [ 'K', 0.02 ],
96
- [ 'M', 0.02 ],
97
- [ 'N', 0.02 ],
98
- [ 'R', 0.02 ],
99
- [ 'S', 0.02 ],
100
- [ 'V', 0.02 ],
101
- [ 'W', 0.02 ],
102
- [ 'Y', 0.02 ]
103
- ];
104
-
105
- my $homosapiens = [
106
- [ 'a', 0.3029549426680 ],
107
- [ 'c', 0.1979883004921 ],
108
- [ 'g', 0.1975473066391 ],
109
- [ 't', 0.3015094502008 ]
110
- ];
111
-
112
- $alu =
113
- 'GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG' .
114
- 'GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA' .
115
- 'CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT' .
116
- 'ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA' .
117
- 'GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG' .
118
- 'AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC' .
119
- 'AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA';
120
-
121
- ######################################################################
122
- #main
123
-
124
- my $n = ($ARGV[0] || 1000) ;
125
-
126
- makeCumulative $iub;
127
- makeCumulative $homosapiens;
128
-
129
- makeRepeatFasta ('ONE', 'Homo sapiens alu', $alu, $n*2);
130
- makeRandomFasta ('TWO', 'IUB ambiguity codes', $n*3, $iub);
131
- makeRandomFasta ('THREE', 'Homo sapiens frequency', $n*5, $homosapiens);
132
-
133
- exit 0;
134
-
135
- #END OF FILE
@@ -1,122 +0,0 @@
1
- # The Computer Language Benchmarks game
2
- # http://shootout.alioth.debian.org/
3
- #
4
- # contributed by David Pyke
5
- # tweaked by Danny Sauer
6
- # optimized by Steffen Mueller
7
- # tweaked by Kuang-che Wu
8
-
9
- use strict;
10
- use warnings;
11
- use constant IM => 139968;
12
- use constant IA => 3877;
13
- use constant IC => 29573;
14
-
15
- use constant LINELENGTH => 60;
16
-
17
- my $LAST = 42;
18
- sub gen_random {
19
- return map {( ($_[0] * ($LAST = ($LAST * IA + IC) % IM)) / IM )} 1..($_[1]||1);
20
- }
21
-
22
- sub makeCumulative {
23
- my $genelist = shift;
24
- my $cp = 0.0;
25
-
26
- $_->[1] = $cp += $_->[1] foreach @$genelist;
27
- }
28
-
29
- sub selectRandom {
30
- my $genelist = shift;
31
- my $number = shift || 1;
32
- my @r = gen_random(1, $number);
33
-
34
- my $s;
35
- foreach my $r (@r) {
36
- foreach (@$genelist){
37
- if ($r < $_->[1]) { $s .= $_->[0]; last; }
38
- }
39
- }
40
-
41
- return $s;
42
- }
43
-
44
-
45
- sub makeRandomFasta {
46
- my ($id, $desc, $n, $genelist) = @_;
47
-
48
- print ">", $id, " ", $desc, "\n";
49
-
50
- # print whole lines
51
- foreach (1 .. int($n / LINELENGTH) ){
52
- print selectRandom($genelist, LINELENGTH), "\n";
53
- }
54
- # print remaining line (if required)
55
- if ($n % LINELENGTH){
56
- print selectRandom($genelist, $n % LINELENGTH), "\n";
57
- }
58
- }
59
-
60
- sub makeRepeatFasta {
61
- my ($id, $desc, $s, $n) = @_;
62
-
63
- print ">", $id, " ", $desc, "\n";
64
-
65
- my $r = length $s;
66
- my $ss = $s . $s . substr($s, 0, $n % $r);
67
- for my $j(0..int($n / LINELENGTH)-1) {
68
- my $i = $j*LINELENGTH % $r;
69
- print substr($ss, $i, LINELENGTH), "\n";
70
- }
71
- if ($n % LINELENGTH) {
72
- print substr($ss, -($n % LINELENGTH)), "\n";
73
- }
74
- }
75
-
76
-
77
- my $iub = [
78
- [ 'a', 0.27 ],
79
- [ 'c', 0.12 ],
80
- [ 'g', 0.12 ],
81
- [ 't', 0.27 ],
82
- [ 'B', 0.02 ],
83
- [ 'D', 0.02 ],
84
- [ 'H', 0.02 ],
85
- [ 'K', 0.02 ],
86
- [ 'M', 0.02 ],
87
- [ 'N', 0.02 ],
88
- [ 'R', 0.02 ],
89
- [ 'S', 0.02 ],
90
- [ 'V', 0.02 ],
91
- [ 'W', 0.02 ],
92
- [ 'Y', 0.02 ]
93
- ];
94
-
95
- my $homosapiens = [
96
- [ 'a', 0.3029549426680 ],
97
- [ 'c', 0.1979883004921 ],
98
- [ 'g', 0.1975473066391 ],
99
- [ 't', 0.3015094502008 ]
100
- ];
101
-
102
- my $alu =
103
- 'GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG' .
104
- 'GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA' .
105
- 'CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT' .
106
- 'ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA' .
107
- 'GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG' .
108
- 'AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC' .
109
- 'AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA';
110
-
111
- ######################################################################
112
- #main
113
-
114
- my $n = ($ARGV[0] || 1000) ;
115
-
116
- makeCumulative($iub);
117
- makeCumulative($homosapiens);
118
-
119
- makeRepeatFasta ('ONE', 'Homo sapiens alu', $alu, $n*2);
120
- makeRandomFasta ('TWO', 'IUB ambiguity codes', $n*3, $iub);
121
- makeRandomFasta ('THREE', 'Homo sapiens frequency', $n*5, $homosapiens);
122
-