chrislo-sourceclassifier 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest +0 -312
- data/Rakefile +2 -2
- data/sourceclassifier.gemspec +6 -6
- metadata +4 -316
- data/sources/gcc/ackermann.gcc-2.gcc +0 -93
- data/sources/gcc/ackermann.gcc-3.gcc +0 -20
- data/sources/gcc/ary.gcc +0 -40
- data/sources/gcc/binarytrees.gcc +0 -136
- data/sources/gcc/binarytrees.gcc-2.gcc +0 -140
- data/sources/gcc/binarytrees.gcc-3.gcc +0 -134
- data/sources/gcc/chameneos.gcc +0 -117
- data/sources/gcc/chameneos.gcc-2.gcc +0 -134
- data/sources/gcc/chameneos.gcc-3.gcc +0 -120
- data/sources/gcc/chameneosredux.gcc +0 -306
- data/sources/gcc/echo.gcc +0 -144
- data/sources/gcc/except.gcc +0 -52
- data/sources/gcc/fannkuch.gcc +0 -105
- data/sources/gcc/fannkuch.gcc-2.gcc +0 -94
- data/sources/gcc/fasta.gcc +0 -158
- data/sources/gcc/fasta.gcc-2.gcc +0 -132
- data/sources/gcc/fasta.gcc-3.gcc +0 -145
- data/sources/gcc/fasta.gcc-4.gcc +0 -141
- data/sources/gcc/fibo.gcc +0 -20
- data/sources/gcc/harmonic.gcc +0 -22
- data/sources/gcc/hash.gcc +0 -31
- data/sources/gcc/hash2.gcc +0 -38
- data/sources/gcc/heapsort.gcc +0 -72
- data/sources/gcc/hello.gcc-2.gcc +0 -12
- data/sources/gcc/hello.gcc-3.gcc +0 -20
- data/sources/gcc/knucleotide.gcc +0 -173
- data/sources/gcc/knucleotide.gcc-2.gcc +0 -168
- data/sources/gcc/lists.gcc +0 -226
- data/sources/gcc/magicsquares.gcc +0 -378
- data/sources/gcc/mandelbrot.gcc +0 -84
- data/sources/gcc/mandelbrot.gcc-2.gcc +0 -63
- data/sources/gcc/mandelbrot.gcc-3.gcc +0 -91
- data/sources/gcc/mandelbrot.gcc-4.gcc +0 -78
- data/sources/gcc/matrix.gcc +0 -66
- data/sources/gcc/message.gcc-2.gcc +0 -72
- data/sources/gcc/message.gcc-3.gcc +0 -64
- data/sources/gcc/methcall.gcc +0 -89
- data/sources/gcc/moments.gcc +0 -120
- data/sources/gcc/nbody.gcc +0 -142
- data/sources/gcc/nbody.gcc-2.gcc +0 -143
- data/sources/gcc/nbody.gcc-3.gcc +0 -142
- data/sources/gcc/nestedloop.gcc +0 -25
- data/sources/gcc/nsieve.gcc +0 -35
- data/sources/gcc/nsievebits.gcc-2.gcc +0 -37
- data/sources/gcc/nsievebits.gcc-3.gcc +0 -53
- data/sources/gcc/objinst.gcc +0 -95
- data/sources/gcc/partialsums.gcc +0 -86
- data/sources/gcc/partialsums.gcc-3.gcc +0 -81
- data/sources/gcc/partialsums.gcc-4.gcc +0 -68
- data/sources/gcc/pidigits.gcc +0 -105
- data/sources/gcc/primes.gcc +0 -75
- data/sources/gcc/prodcons.gcc +0 -86
- data/sources/gcc/random.gcc +0 -29
- data/sources/gcc/raytracer.gcc +0 -125
- data/sources/gcc/raytracer.gcc-2.gcc +0 -181
- data/sources/gcc/recursive.gcc +0 -68
- data/sources/gcc/recursive.gcc-2.gcc +0 -55
- data/sources/gcc/regexdna.gcc-2.gcc +0 -126
- data/sources/gcc/regexmatch.gcc +0 -136
- data/sources/gcc/revcomp.gcc +0 -85
- data/sources/gcc/revcomp.gcc-2.gcc +0 -88
- data/sources/gcc/revcomp.gcc-4.gcc +0 -71
- data/sources/gcc/reversefile.gcc +0 -103
- data/sources/gcc/reversefile.gcc-2.gcc +0 -56
- data/sources/gcc/sieve.gcc +0 -34
- data/sources/gcc/spectralnorm.gcc +0 -54
- data/sources/gcc/spellcheck.gcc +0 -72
- data/sources/gcc/spellcheck.gcc-2.gcc +0 -61
- data/sources/gcc/strcat.gcc +0 -38
- data/sources/gcc/sumcol.gcc-2.gcc +0 -98
- data/sources/gcc/sumcol.gcc-3.gcc +0 -22
- data/sources/gcc/sumcol.gcc-4.gcc +0 -18
- data/sources/gcc/sumcol.gcc-5.gcc +0 -32
- data/sources/gcc/takfp.gcc +0 -23
- data/sources/gcc/tcp-stream.gcc +0 -122
- data/sources/gcc/tcpecho.gcc +0 -122
- data/sources/gcc/tcpecho.gcc-2.gcc +0 -136
- data/sources/gcc/tcprequest.gcc +0 -122
- data/sources/gcc/threadring.gcc +0 -73
- data/sources/gcc/wc.gcc +0 -52
- data/sources/gcc/wc.gcc-2.gcc +0 -40
- data/sources/gcc/wc.gcc-3.gcc +0 -46
- data/sources/gcc/wordfreq.gcc-2.gcc +0 -85
- data/sources/perl/ackermann.perl +0 -28
- data/sources/perl/ackermann.perl-2.perl +0 -25
- data/sources/perl/ackermann.perl-3.perl +0 -20
- data/sources/perl/ackermann.perl-4.perl +0 -18
- data/sources/perl/ary.perl +0 -25
- data/sources/perl/ary.perl-2.perl +0 -23
- data/sources/perl/binarytrees.perl +0 -66
- data/sources/perl/binarytrees.perl-2.perl +0 -71
- data/sources/perl/chameneos.perl +0 -67
- data/sources/perl/echo.perl +0 -81
- data/sources/perl/except.perl +0 -73
- data/sources/perl/fannkuch.perl +0 -44
- data/sources/perl/fannkuch.perl-2.perl +0 -38
- data/sources/perl/fasta.perl +0 -112
- data/sources/perl/fasta.perl-2.perl +0 -135
- data/sources/perl/fasta.perl-4.perl +0 -122
- data/sources/perl/fibo.perl +0 -15
- data/sources/perl/fibo.perl-2.perl +0 -0
- data/sources/perl/fibo.perl-3.perl +0 -0
- data/sources/perl/harmonic.perl +0 -7
- data/sources/perl/hash.perl +0 -23
- data/sources/perl/hash.perl-2.perl +0 -17
- data/sources/perl/hash.perl-3.perl +0 -24
- data/sources/perl/hash2.perl +0 -16
- data/sources/perl/heapsort.perl +0 -65
- data/sources/perl/heapsort.perl-2.perl +0 -0
- data/sources/perl/hello.perl +0 -5
- data/sources/perl/knucleotide.perl-2.perl +0 -30
- data/sources/perl/lists.perl +0 -48
- data/sources/perl/mandelbrot.perl-2.perl +0 -32
- data/sources/perl/matrix.perl +0 -59
- data/sources/perl/matrix.perl-2.perl +0 -0
- data/sources/perl/matrix.perl-3.perl +0 -0
- data/sources/perl/message.perl +0 -27
- data/sources/perl/methcall.perl +0 -66
- data/sources/perl/moments.perl +0 -44
- data/sources/perl/nbody.perl +0 -108
- data/sources/perl/nestedloop.perl +0 -28
- data/sources/perl/nsieve.perl-2.perl +0 -41
- data/sources/perl/nsieve.perl-4.perl +0 -43
- data/sources/perl/nsievebits.perl +0 -37
- data/sources/perl/objinst.perl +0 -73
- data/sources/perl/partialsums.perl-3.perl +0 -31
- data/sources/perl/pidigits.perl +0 -52
- data/sources/perl/pidigits.perl-2.perl +0 -47
- data/sources/perl/process.perl +0 -50
- data/sources/perl/prodcons.perl +0 -47
- data/sources/perl/random.perl-4.perl +0 -17
- data/sources/perl/recursive.perl-2.perl +0 -57
- data/sources/perl/regexdna.perl +0 -48
- data/sources/perl/regexdna.perl-2.perl +0 -43
- data/sources/perl/regexdna.perl-3.perl +0 -50
- data/sources/perl/regexdna.perl-4.perl +0 -49
- data/sources/perl/regexdna.perl-5.perl +0 -42
- data/sources/perl/regexdna.perl-6.perl +0 -43
- data/sources/perl/regexmatch.perl +0 -35
- data/sources/perl/revcomp.perl-2.perl +0 -34
- data/sources/perl/reversefile.perl +0 -8
- data/sources/perl/reversefile.perl-2.perl +0 -0
- data/sources/perl/reversefile.perl-3.perl +0 -0
- data/sources/perl/sieve.perl +0 -23
- data/sources/perl/spectralnorm.perl-2.perl +0 -54
- data/sources/perl/spellcheck.perl +0 -24
- data/sources/perl/strcat.perl +0 -13
- data/sources/perl/strcat.perl-2.perl +0 -0
- data/sources/perl/sumcol.perl +0 -8
- data/sources/perl/takfp.perl +0 -23
- data/sources/perl/takfp.perl-3.perl +0 -20
- data/sources/perl/tcpecho.perl +0 -61
- data/sources/perl/tcprequest.perl +0 -61
- data/sources/perl/tcpstream.perl +0 -61
- data/sources/perl/threadring.perl +0 -55
- data/sources/perl/threadring.perl-2.perl +0 -43
- data/sources/perl/wc.perl +0 -20
- data/sources/perl/wc.perl-2.perl +0 -14
- data/sources/perl/wordfreq.perl +0 -22
- data/sources/perl/wordfreq.perl-3.perl +0 -0
- data/sources/perl/wordfreq.perl3.perl +0 -0
- data/sources/python/ackermann.python +0 -21
- data/sources/python/ary.python +0 -19
- data/sources/python/binarytrees.python +0 -39
- data/sources/python/binarytrees.python-3.python +0 -44
- data/sources/python/chameneos.python-6.python +0 -73
- data/sources/python/chameneosredux.python +0 -126
- data/sources/python/chameneosredux.python-2.python +0 -122
- data/sources/python/dispatch.python +0 -176
- data/sources/python/dispatch.python-2.python +0 -136
- data/sources/python/echo.python +0 -64
- data/sources/python/except.python +0 -62
- data/sources/python/fannkuch.python +0 -50
- data/sources/python/fannkuch.python-2.python +0 -54
- data/sources/python/fasta.python-2.python +0 -79
- data/sources/python/fibo.python +0 -17
- data/sources/python/fibo.python-2.python +0 -0
- data/sources/python/fibo.python-3.python +0 -0
- data/sources/python/harmonic.python-2.python +0 -9
- data/sources/python/hash.python +0 -21
- data/sources/python/hash.python-2.python +0 -0
- data/sources/python/hash2.python +0 -30
- data/sources/python/heapsort.python-3.python +0 -66
- data/sources/python/hello.python +0 -5
- data/sources/python/implicitode.python +0 -231
- data/sources/python/knucleotide.python +0 -55
- data/sources/python/lists.python +0 -44
- data/sources/python/magicsquares.python +0 -145
- data/sources/python/mandelbrot.python +0 -44
- data/sources/python/mandelbrot.python-2.python +0 -35
- data/sources/python/mandelbrot.python-3.python +0 -46
- data/sources/python/matrix.python +0 -34
- data/sources/python/matrix.python-2.python +0 -23
- data/sources/python/message.python +0 -24
- data/sources/python/message.python-2.python +0 -20
- data/sources/python/message.python-3.python +0 -19
- data/sources/python/meteor.python +0 -210
- data/sources/python/meteor.python-2.python +0 -192
- data/sources/python/methcall.python +0 -51
- data/sources/python/moments.python +0 -65
- data/sources/python/nbody.python +0 -123
- data/sources/python/nbody.python-2.python +0 -120
- data/sources/python/nestedloop.python +0 -24
- data/sources/python/nsieve.python +0 -27
- data/sources/python/nsieve.python-2.python +0 -23
- data/sources/python/nsieve.python-4.python +0 -25
- data/sources/python/nsievebits.python +0 -27
- data/sources/python/nsievebits.python-2.python +0 -43
- data/sources/python/objinst.python +0 -53
- data/sources/python/partialsums.python +0 -37
- data/sources/python/partialsums.python-2.python +0 -35
- data/sources/python/partialsums.python-3.python +0 -48
- data/sources/python/pidigits.python +0 -38
- data/sources/python/pidigits.python-3.python +0 -63
- data/sources/python/pidigits.python-4.python +0 -24
- data/sources/python/process.python +0 -51
- data/sources/python/process.python-2.python +0 -133
- data/sources/python/prodcons.python +0 -51
- data/sources/python/prodcons.python-2.python +0 -0
- data/sources/python/random.python +0 -27
- data/sources/python/raytracer.python +0 -203
- data/sources/python/recursive.python +0 -35
- data/sources/python/regexdna.python +0 -39
- data/sources/python/regexdna.python-2.python +0 -34
- data/sources/python/regexmatch.python +0 -36
- data/sources/python/revcomp.python-3.python +0 -31
- data/sources/python/reversefile.python +0 -13
- data/sources/python/reversefile.python-2.python +0 -0
- data/sources/python/reversefile.python-3.python +0 -0
- data/sources/python/sieve.python +0 -50
- data/sources/python/spectralnorm.python-2.python +0 -36
- data/sources/python/spellcheck.python +0 -17
- data/sources/python/strcat.python +0 -35
- data/sources/python/strcat.python-2.python +0 -0
- data/sources/python/sumcol.python-2.python +0 -0
- data/sources/python/sumcol.python-3.python +0 -0
- data/sources/python/takfp.python +0 -19
- data/sources/python/tcpecho.python +0 -67
- data/sources/python/tcprequest.python +0 -67
- data/sources/python/tcpstream.python +0 -67
- data/sources/python/threadring.python +0 -47
- data/sources/python/threadring.python-2.python +0 -40
- data/sources/python/threadring.python-3.python +0 -34
- data/sources/python/wc.python-2.python +0 -19
- data/sources/python/wordfreq.python +0 -43
- data/sources/python/wordfreq.python-2.python +0 -0
- data/sources/python/wordfreq.python-3.python +0 -28
- data/sources/python/wordfreq.python-4.python +0 -38
- data/sources/python/wordfreq.python-5.python +0 -39
- data/sources/ruby/ackermann.ruby +0 -17
- data/sources/ruby/ackermann.ruby-5.ruby +0 -153
- data/sources/ruby/ary.ruby +0 -22
- data/sources/ruby/binarytrees.ruby-2.ruby +0 -55
- data/sources/ruby/chameneos.ruby-2.ruby +0 -71
- data/sources/ruby/dispatch.ruby +0 -114
- data/sources/ruby/echo.ruby +0 -41
- data/sources/ruby/except.ruby +0 -61
- data/sources/ruby/except.ruby-2.ruby +0 -61
- data/sources/ruby/fannkuch.ruby +0 -42
- data/sources/ruby/fasta.ruby +0 -81
- data/sources/ruby/fibo.ruby +0 -15
- data/sources/ruby/harmonic.ruby-2.ruby +0 -15
- data/sources/ruby/hash.ruby +0 -19
- data/sources/ruby/hash2.ruby +0 -23
- data/sources/ruby/heapsort.ruby +0 -55
- data/sources/ruby/hello.ruby +0 -6
- data/sources/ruby/knucleotide.ruby-2.ruby +0 -44
- data/sources/ruby/lists.ruby +0 -46
- data/sources/ruby/mandelbrot.ruby-3.ruby +0 -63
- data/sources/ruby/matrix.ruby +0 -40
- data/sources/ruby/matrix.ruby-2.ruby +0 -30
- data/sources/ruby/message.ruby +0 -29
- data/sources/ruby/message.ruby-2.ruby +0 -24
- data/sources/ruby/meteor.ruby +0 -386
- data/sources/ruby/meteor.ruby-2.ruby +0 -561
- data/sources/ruby/methcall.ruby +0 -58
- data/sources/ruby/methcall.ruby-2.ruby +0 -54
- data/sources/ruby/moments.ruby +0 -64
- data/sources/ruby/nbody.ruby-2.ruby +0 -145
- data/sources/ruby/nestedloop.ruby +0 -22
- data/sources/ruby/nsieve.ruby +0 -36
- data/sources/ruby/nsieve.ruby-2.ruby +0 -25
- data/sources/ruby/nsievebits.ruby-2.ruby +0 -42
- data/sources/ruby/objinst.ruby +0 -58
- data/sources/ruby/partialsums.ruby +0 -39
- data/sources/ruby/pidigits.ruby +0 -92
- data/sources/ruby/pidigits.ruby-2.ruby +0 -109
- data/sources/ruby/prodcons.ruby +0 -41
- data/sources/ruby/random.ruby +0 -17
- data/sources/ruby/recursive.ruby-2.ruby +0 -53
- data/sources/ruby/regexdna.ruby +0 -32
- data/sources/ruby/regexdna.ruby-2.ruby +0 -38
- data/sources/ruby/regexmatch.ruby +0 -33
- data/sources/ruby/revcomp.ruby +0 -28
- data/sources/ruby/reversefile.ruby +0 -7
- data/sources/ruby/sieve.ruby +0 -30
- data/sources/ruby/spectralnorm.ruby +0 -48
- data/sources/ruby/spellcheck.ruby +0 -18
- data/sources/ruby/spellcheck.ruby-2.ruby +0 -0
- data/sources/ruby/strcat.ruby +0 -12
- data/sources/ruby/strcat.ruby-2.ruby +0 -12
- data/sources/ruby/sumcol.ruby +0 -12
- data/sources/ruby/sumcol.ruby-2.ruby +0 -5
- data/sources/ruby/takfp.ruby +0 -15
- data/sources/ruby/tcpecho.ruby +0 -45
- data/sources/ruby/tcprequest.ruby +0 -45
- data/sources/ruby/tcpstream.ruby +0 -45
- data/sources/ruby/threadring.ruby +0 -61
- data/sources/ruby/threadring.ruby-2.ruby +0 -33
- data/sources/ruby/wc.ruby +0 -15
- data/sources/ruby/wordfreq.ruby +0 -17
- data/sources/ruby/wordfreq.ruby2.ruby +0 -0
data/sources/perl/moments.perl
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
#!/usr/bin/perl
|
2
|
-
# $Id: moments.perl,v 1.1.1.1 2004-05-19 18:10:48 bfulgham Exp $
|
3
|
-
# http://www.bagley.org/~doug/shootout/
|
4
|
-
|
5
|
-
use strict;
|
6
|
-
|
7
|
-
my @nums = <STDIN>;
|
8
|
-
my $sum = 0;
|
9
|
-
foreach (@nums) { $sum += $_ }
|
10
|
-
my $n = scalar(@nums);
|
11
|
-
my $mean = $sum/$n;
|
12
|
-
my $average_deviation = 0;
|
13
|
-
my $standard_deviation = 0;
|
14
|
-
my $variance = 0;
|
15
|
-
my $skew = 0;
|
16
|
-
my $kurtosis = 0;
|
17
|
-
foreach (@nums) {
|
18
|
-
my $deviation = $_ - $mean;
|
19
|
-
$average_deviation += abs($deviation);
|
20
|
-
$variance += $deviation**2;
|
21
|
-
$skew += $deviation**3;
|
22
|
-
$kurtosis += $deviation**4;
|
23
|
-
}
|
24
|
-
$average_deviation /= $n;
|
25
|
-
$variance /= ($n - 1);
|
26
|
-
$standard_deviation = sqrt($variance);
|
27
|
-
|
28
|
-
if ($variance) {
|
29
|
-
$skew /= ($n * $variance * $standard_deviation);
|
30
|
-
$kurtosis = $kurtosis/($n * $variance * $variance) - 3.0;
|
31
|
-
}
|
32
|
-
|
33
|
-
@nums = sort { $a <=> $b } @nums;
|
34
|
-
my $mid = int($n/2);
|
35
|
-
my $median = ($n % 2) ? $nums[$mid] : ($nums[$mid] + $nums[$mid-1])/2;
|
36
|
-
|
37
|
-
printf("n: %d\n", $n);
|
38
|
-
printf("median: %f\n", $median);
|
39
|
-
printf("mean: %f\n", $mean);
|
40
|
-
printf("average_deviation: %f\n", $average_deviation);
|
41
|
-
printf("standard_deviation: %f\n", $standard_deviation);
|
42
|
-
printf("variance: %f\n", $variance);
|
43
|
-
printf("skew: %f\n", $skew);
|
44
|
-
printf("kurtosis: %f\n", $kurtosis);
|
data/sources/perl/nbody.perl
DELETED
@@ -1,108 +0,0 @@
|
|
1
|
-
# The Computer Language Shootout
|
2
|
-
# http://shootout.alioth.debian.org/
|
3
|
-
#
|
4
|
-
# contributed by Christoph Bauer
|
5
|
-
# converted into Perl by Márton Papp
|
6
|
-
# fixed and cleaned up by Danny Sauer
|
7
|
-
# optimized by Jesse Millikan
|
8
|
-
|
9
|
-
use constant PI => 3.141592653589793;
|
10
|
-
use constant SOLAR_MASS => (4 * PI * PI);
|
11
|
-
use constant DAYS_PER_YEAR => 365.24;
|
12
|
-
|
13
|
-
# Globals for arrays... Oh well.
|
14
|
-
# Almost every iteration is a range, so I keep the last index rather than a count.
|
15
|
-
my (@xs, @ys, @zs, @vxs, @vys, @vzs, @mass, $last);
|
16
|
-
|
17
|
-
sub advance($)
|
18
|
-
{
|
19
|
-
my ($dt) = @_;
|
20
|
-
my ($mm, $mm2, $j, $dx, $dy, $dz, $distance, $mag);
|
21
|
-
|
22
|
-
# This is faster in the outer loop...
|
23
|
-
for (0..$last) {
|
24
|
-
# But not in the inner loop. Strange.
|
25
|
-
for ($j = $_ + 1; $j < $last + 1; $j++) {
|
26
|
-
$dx = $xs[$_] - $xs[$j];
|
27
|
-
$dy = $ys[$_] - $ys[$j];
|
28
|
-
$dz = $zs[$_] - $zs[$j];
|
29
|
-
$distance = sqrt($dx * $dx + $dy * $dy + $dz * $dz);
|
30
|
-
$mag = $dt / ($distance * $distance * $distance);
|
31
|
-
$mm = $mass[$_] * $mag;
|
32
|
-
$mm2 = $mass[$j] * $mag;
|
33
|
-
$vxs[$_] -= $dx * $mm2;
|
34
|
-
$vxs[$j] += $dx * $mm;
|
35
|
-
$vys[$_] -= $dy * $mm2;
|
36
|
-
$vys[$j] += $dy * $mm;
|
37
|
-
$vzs[$_] -= $dz * $mm2;
|
38
|
-
$vzs[$j] += $dz * $mm;
|
39
|
-
}
|
40
|
-
|
41
|
-
# We're done with planet $_ at this point
|
42
|
-
# This could be done in a seperate loop, but it's slower
|
43
|
-
$xs[$_] += $dt * $vxs[$_];
|
44
|
-
$ys[$_] += $dt * $vys[$_];
|
45
|
-
$zs[$_] += $dt * $vzs[$_];
|
46
|
-
}
|
47
|
-
}
|
48
|
-
|
49
|
-
sub energy
|
50
|
-
{
|
51
|
-
my ($e, $i, $dx, $dy, $dz, $distance);
|
52
|
-
|
53
|
-
$e = 0.0;
|
54
|
-
for $i (0..$last) {
|
55
|
-
$e += 0.5 * $mass[$i] *
|
56
|
-
($vxs[$i] * $vxs[$i] + $vys[$i] * $vys[$i] + $vzs[$i] * $vzs[$i]);
|
57
|
-
for ($i + 1..$last) {
|
58
|
-
$dx = $xs[$i] - $xs[$_];
|
59
|
-
$dy = $ys[$i] - $ys[$_];
|
60
|
-
$dz = $zs[$i] - $zs[$_];
|
61
|
-
$distance = sqrt($dx * $dx + $dy * $dy + $dz * $dz);
|
62
|
-
$e -= ($mass[$i] * $mass[$_]) / $distance;
|
63
|
-
}
|
64
|
-
}
|
65
|
-
return $e;
|
66
|
-
}
|
67
|
-
|
68
|
-
sub offset_momentum
|
69
|
-
{
|
70
|
-
my ($px, $py, $pz) = (0.0, 0.0, 0.0);
|
71
|
-
|
72
|
-
for (0..$last) {
|
73
|
-
$px += $vxs[$_] * $mass[$_];
|
74
|
-
$py += $vys[$_] * $mass[$_];
|
75
|
-
$pz += $vzs[$_] * $mass[$_];
|
76
|
-
}
|
77
|
-
$vxs[0] = - $px / SOLAR_MASS;
|
78
|
-
$vys[0] = - $py / SOLAR_MASS;
|
79
|
-
$vzs[0] = - $pz / SOLAR_MASS;
|
80
|
-
}
|
81
|
-
|
82
|
-
# @ns = ( sun, jupiter, saturn, uranus, neptune )
|
83
|
-
@xs = (0, 4.84143144246472090e+00, 8.34336671824457987e+00, 1.28943695621391310e+01, 1.53796971148509165e+01);
|
84
|
-
@ys = (0, -1.16032004402742839e+00, 4.12479856412430479e+00, -1.51111514016986312e+01, -2.59193146099879641e+01);
|
85
|
-
@zs = (0, -1.03622044471123109e-01, -4.03523417114321381e-01, -2.23307578892655734e-01, 1.79258772950371181e-01);
|
86
|
-
@vxs = map {$_ * DAYS_PER_YEAR}
|
87
|
-
(0, 1.66007664274403694e-03, -2.76742510726862411e-03, 2.96460137564761618e-03, 2.68067772490389322e-03);
|
88
|
-
@vys = map {$_ * DAYS_PER_YEAR}
|
89
|
-
(0, 7.69901118419740425e-03, 4.99852801234917238e-03, 2.37847173959480950e-03, 1.62824170038242295e-03);
|
90
|
-
@vzs = map {$_ * DAYS_PER_YEAR}
|
91
|
-
(0, -6.90460016972063023e-05, 2.30417297573763929e-05, -2.96589568540237556e-05, -9.51592254519715870e-05);
|
92
|
-
@mass = map {$_ * SOLAR_MASS}
|
93
|
-
(1, 9.54791938424326609e-04, 2.85885980666130812e-04, 4.36624404335156298e-05, 5.15138902046611451e-05);
|
94
|
-
|
95
|
-
$last = @xs - 1;
|
96
|
-
|
97
|
-
offset_momentum();
|
98
|
-
printf ("%.9f\n", energy());
|
99
|
-
|
100
|
-
my $n = $ARGV[0];
|
101
|
-
|
102
|
-
# This does not, in fact, consume N*4 bytes of memory
|
103
|
-
for (1..$n){
|
104
|
-
advance(0.01);
|
105
|
-
}
|
106
|
-
|
107
|
-
printf ("%.9f\n", energy());
|
108
|
-
|
@@ -1,28 +0,0 @@
|
|
1
|
-
#!/usr/bin/perl
|
2
|
-
# $Id: nestedloop.perl,v 1.1.1.1 2004-05-19 18:10:57 bfulgham Exp $
|
3
|
-
# http://www.bagley.org/~doug/shootout/
|
4
|
-
|
5
|
-
use strict;
|
6
|
-
|
7
|
-
my $n = ($ARGV[0] > 0) ? $ARGV[0] : 1;
|
8
|
-
my $x = 0;
|
9
|
-
my $a = $n;
|
10
|
-
while ($a--) {
|
11
|
-
my $b = $n;
|
12
|
-
while ($b--) {
|
13
|
-
my $c = $n;
|
14
|
-
while ($c--) {
|
15
|
-
my $d = $n;
|
16
|
-
while ($d--) {
|
17
|
-
my $e = $n;
|
18
|
-
while ($e--) {
|
19
|
-
my $f = $n;
|
20
|
-
while ($f--) {
|
21
|
-
$x++;
|
22
|
-
}
|
23
|
-
}
|
24
|
-
}
|
25
|
-
}
|
26
|
-
}
|
27
|
-
}
|
28
|
-
print "$x\n";
|
@@ -1,41 +0,0 @@
|
|
1
|
-
# The Computer Language Benchmarks Game
|
2
|
-
# http://shootout.alioth.debian.org/
|
3
|
-
#
|
4
|
-
# contributed by David Pyke, March 2005
|
5
|
-
# optimized by Steffen Mueller, Sept 2007
|
6
|
-
|
7
|
-
use integer;
|
8
|
-
use strict;
|
9
|
-
|
10
|
-
sub nsieve {
|
11
|
-
my ($m) = @_;
|
12
|
-
my @a = (1) x $m;
|
13
|
-
|
14
|
-
my $count = 0;
|
15
|
-
foreach my $i (2..$m-1) {
|
16
|
-
if ($a[$i]) {
|
17
|
-
for (my $j = $i + $i; $j < $m; $j += $i){
|
18
|
-
$a[$j] = 0;
|
19
|
-
}
|
20
|
-
++$count;
|
21
|
-
}
|
22
|
-
}
|
23
|
-
return $count;
|
24
|
-
}
|
25
|
-
|
26
|
-
|
27
|
-
sub nsieve_test {
|
28
|
-
my($n) = @_;
|
29
|
-
|
30
|
-
my $m = (1<<$n) * 10000;
|
31
|
-
my $ncount= nsieve($m);
|
32
|
-
printf "Primes up to %8u %8u\n", $m, $ncount;
|
33
|
-
}
|
34
|
-
|
35
|
-
|
36
|
-
my $N = ($ARGV[0] < 1) ? 1 : $ARGV[0];
|
37
|
-
nsieve_test($N);
|
38
|
-
nsieve_test($N-1) if $N >= 1;
|
39
|
-
nsieve_test($N-2) if $N >= 2;
|
40
|
-
|
41
|
-
|
@@ -1,43 +0,0 @@
|
|
1
|
-
# The Computer Language Benchmarks Game
|
2
|
-
# http://shootout.alioth.debian.org/
|
3
|
-
#
|
4
|
-
# contributed by David Pyke, March 2005
|
5
|
-
# optimized by Steffen Mueller, Sept 2007
|
6
|
-
# optimized by Laimonas Vėbra, Nov 2007
|
7
|
-
|
8
|
-
use integer;
|
9
|
-
use strict;
|
10
|
-
|
11
|
-
|
12
|
-
sub nsieve {
|
13
|
-
my ($m) = @_;
|
14
|
-
my $i, my $j, my $a;
|
15
|
-
my $count = 0;
|
16
|
-
|
17
|
-
$a = 0 x $m;
|
18
|
-
|
19
|
-
for($i = 2; $i < $m; $i++) {
|
20
|
-
if (substr($a, $i, 1) ne '1') {
|
21
|
-
for ($j = $i + $i; $j < $m; $j += $i){
|
22
|
-
substr($a, $j, 1) = '1';
|
23
|
-
}
|
24
|
-
++$count;
|
25
|
-
}
|
26
|
-
}
|
27
|
-
return $count;
|
28
|
-
}
|
29
|
-
|
30
|
-
|
31
|
-
sub nsieve_test {
|
32
|
-
my($n) = @_;
|
33
|
-
|
34
|
-
my $m = (1<<$n) * 10000;
|
35
|
-
my $ncount= nsieve($m);
|
36
|
-
printf "Primes up to %8u %8u\n", $m, $ncount;
|
37
|
-
}
|
38
|
-
|
39
|
-
my $N = ($ARGV[0] < 1) ? 1 : $ARGV[0];
|
40
|
-
|
41
|
-
nsieve_test($N);
|
42
|
-
nsieve_test($N-1) if $N >= 1;
|
43
|
-
nsieve_test($N-2) if $N >= 2;
|
@@ -1,37 +0,0 @@
|
|
1
|
-
#!/usr/bin/perl
|
2
|
-
|
3
|
-
# The Great Computer Language Shootout
|
4
|
-
# http://shootout.alioth.debian.org/
|
5
|
-
# nsieve-bits benchmark
|
6
|
-
# contributed by Joel Hoffman, 2005-03-28
|
7
|
-
|
8
|
-
use strict;
|
9
|
-
|
10
|
-
sub nsieve {
|
11
|
-
my $mx = shift;
|
12
|
-
vec(my $vec,$mx,1)=0;
|
13
|
-
my $count=0;
|
14
|
-
for my $idx (2..$mx) {
|
15
|
-
unless (vec($vec,$idx,1)) {
|
16
|
-
$count++;
|
17
|
-
for (my $i=2 * $idx; $i<=$mx; $i+=$idx) {
|
18
|
-
vec($vec,$i,1)=1;
|
19
|
-
}
|
20
|
-
}
|
21
|
-
}
|
22
|
-
$count;
|
23
|
-
}
|
24
|
-
|
25
|
-
sub test {
|
26
|
-
my $n = shift;
|
27
|
-
my $mx = 10000 * (2**$n);
|
28
|
-
printf "Primes up to %8d %8d\n",$mx,nsieve($mx);
|
29
|
-
}
|
30
|
-
|
31
|
-
for (0,1,2) {
|
32
|
-
if ($ARGV[0] > $_) {
|
33
|
-
test($ARGV[0] - $_)
|
34
|
-
}
|
35
|
-
}
|
36
|
-
|
37
|
-
|
data/sources/perl/objinst.perl
DELETED
@@ -1,73 +0,0 @@
|
|
1
|
-
#!/usr/bin/perl
|
2
|
-
# $Id: objinst.perl,v 1.1.1.1 2004-05-19 18:11:03 bfulgham Exp $
|
3
|
-
# http://www.bagley.org/~doug/shootout/
|
4
|
-
|
5
|
-
use strict;
|
6
|
-
|
7
|
-
|
8
|
-
package Toggle;
|
9
|
-
|
10
|
-
sub new {
|
11
|
-
my($class, $start_state) = @_;
|
12
|
-
bless( { Bool => $start_state }, $class );
|
13
|
-
}
|
14
|
-
|
15
|
-
sub value {
|
16
|
-
my $self = shift;
|
17
|
-
return($self->{Bool});
|
18
|
-
}
|
19
|
-
|
20
|
-
sub activate {
|
21
|
-
my $self = shift;
|
22
|
-
$self->{Bool} ^= 1;
|
23
|
-
return($self);
|
24
|
-
}
|
25
|
-
|
26
|
-
|
27
|
-
package NthToggle;
|
28
|
-
@NthToggle::ISA = qw(Toggle);
|
29
|
-
|
30
|
-
sub new {
|
31
|
-
my($class, $start_state, $max_counter) = @_;
|
32
|
-
my $self = $class->SUPER::new($start_state);
|
33
|
-
$self->{CountMax} = $max_counter;
|
34
|
-
$self->{Counter} = 0;
|
35
|
-
return($self);
|
36
|
-
}
|
37
|
-
|
38
|
-
sub activate {
|
39
|
-
my $self = shift;
|
40
|
-
if (++$self->{Counter} >= $self->{CountMax}) {
|
41
|
-
$self->{Bool} ^= 1;
|
42
|
-
$self->{Counter} = 0;
|
43
|
-
}
|
44
|
-
return($self);
|
45
|
-
}
|
46
|
-
|
47
|
-
|
48
|
-
package main;
|
49
|
-
|
50
|
-
sub main {
|
51
|
-
my $NUM = ($ARGV[0] > 0) ? $ARGV[0] : 1;
|
52
|
-
|
53
|
-
my $toggle = Toggle->new(1);
|
54
|
-
for (1..5) {
|
55
|
-
print (($toggle->activate->value) ? "true\n" : "false\n");
|
56
|
-
}
|
57
|
-
for (1..$NUM) {
|
58
|
-
$toggle = Toggle->new(1);
|
59
|
-
}
|
60
|
-
|
61
|
-
print "\n";
|
62
|
-
|
63
|
-
my $ntoggle = NthToggle->new(1, 3);
|
64
|
-
for (1..8) {
|
65
|
-
print (($ntoggle->activate->value) ? "true\n" : "false\n");
|
66
|
-
}
|
67
|
-
for (1..$NUM) {
|
68
|
-
$ntoggle = NthToggle->new(1, 3);
|
69
|
-
}
|
70
|
-
}
|
71
|
-
|
72
|
-
main();
|
73
|
-
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# The Computer Language Shootout
|
2
|
-
# http://shootout.alioth.debian.org/
|
3
|
-
# Contributed by Emanuele Zeppieri
|
4
|
-
|
5
|
-
my $N = shift || 2_500_000;
|
6
|
-
|
7
|
-
my ($s0, $s1, $s2, $s3, $s4, $s5, $s6, $s7, $s8, $k2, $k3, $ksin, $kcos);
|
8
|
-
my $alt = -1;
|
9
|
-
sub TWO_THIRDS () { 2/3 }
|
10
|
-
|
11
|
-
for (1..$N) {
|
12
|
-
$s0 += TWO_THIRDS ** ($_ - 1);
|
13
|
-
$s1 += 1 / sqrt;
|
14
|
-
$s2 += 1 / ( $_ * ($_ + 1));
|
15
|
-
$s3 += 1 / ( ($k3 = ($k2 = $_ * $_) * $_) * ($ksin = sin) * $ksin );
|
16
|
-
$s4 += 1 / ( $k3 * ($kcos = cos) * $kcos );
|
17
|
-
$s5 += 1 / $_;
|
18
|
-
$s6 += 1 / $k2;
|
19
|
-
$s7 += ($alt = -$alt) / $_;
|
20
|
-
$s8 += $alt / (2 * $_ - 1)
|
21
|
-
}
|
22
|
-
|
23
|
-
printf "%0.9f\t(2/3)^k\n" , $s0;
|
24
|
-
printf "%0.9f\tk^-0.5\n" , $s1;
|
25
|
-
printf "%0.9f\t1/k(k+1)\n" , $s2;
|
26
|
-
printf "%0.9f\tFlint Hills\n" , $s3;
|
27
|
-
printf "%0.9f\tCookson Hills\n" , $s4;
|
28
|
-
printf "%0.9f\tHarmonic\n" , $s5;
|
29
|
-
printf "%0.9f\tRiemann Zeta\n" , $s6;
|
30
|
-
printf "%0.9f\tAlternating Harmonic\n", $s7;
|
31
|
-
printf "%0.9f\tGregory\n" , $s8
|
data/sources/perl/pidigits.perl
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
# The Computer Language Shootout
|
2
|
-
# http://shootout.alioth.debian.org/
|
3
|
-
#
|
4
|
-
# contributed by Robert Bradshaw
|
5
|
-
# modified by Ruud H.G.van Tol
|
6
|
-
# modified by Emanuele Zeppieri
|
7
|
-
|
8
|
-
use strict;
|
9
|
-
|
10
|
-
use Math::BigInt lib => 'GMP';
|
11
|
-
|
12
|
-
die 'Math::BigInt::GMP missing!'
|
13
|
-
if Math::BigInt->config->{lib} ne 'Math::BigInt::GMP';
|
14
|
-
|
15
|
-
my $z0 = Math::BigInt->new(1);
|
16
|
-
my $z1 = Math::BigInt->new(0);
|
17
|
-
my $z2 = Math::BigInt->new(1);
|
18
|
-
|
19
|
-
sub extract_digit { return scalar( ($z0 * $_[0] + $z1) / $z2 ) }
|
20
|
-
|
21
|
-
sub compose {
|
22
|
-
if ( defined $_[3] ) {
|
23
|
-
$z1->bmul( $_[0] )->badd( $_[1] * $z2 )
|
24
|
-
} else {
|
25
|
-
$z1->bmul( $_[2] )->badd( $_[1] * $z0 )
|
26
|
-
}
|
27
|
-
$z0->bmul( $_[0] );
|
28
|
-
$z2->bmul( $_[2] );
|
29
|
-
return
|
30
|
-
}
|
31
|
-
|
32
|
-
my $n = $ARGV[0];
|
33
|
-
($,, $\) = ("\t", "\n");
|
34
|
-
my ($i, $s, $d); my $k = 0;
|
35
|
-
|
36
|
-
# main loop
|
37
|
-
for $i (1..$n) {
|
38
|
-
while (
|
39
|
-
$z0->bcmp($z2) == 1 || ( $d = extract_digit(3) ) != extract_digit(4)
|
40
|
-
) {
|
41
|
-
# y not safe
|
42
|
-
$k++; compose($k, 4*$k+2, 2*$k+1)
|
43
|
-
}
|
44
|
-
compose(10, -10*$d, 1, 1);
|
45
|
-
$s .= $d;
|
46
|
-
|
47
|
-
unless ( $i % 10 ) { print $s, ":$i"; undef $s }
|
48
|
-
}
|
49
|
-
|
50
|
-
$s .= ' ' x (10-$i) if $i = $n % 10;
|
51
|
-
|
52
|
-
print $s, ":$n" if $s
|