gmp 0.2.2 → 0.4.0

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.
data/test/tc_random.rb ADDED
@@ -0,0 +1,54 @@
1
+ require 'test_helper'
2
+
3
+ class TC_Random < Test::Unit::TestCase
4
+ def setup
5
+ end
6
+
7
+ def test_urandomb
8
+ @a = GMP::RandState.new
9
+ @a.seed(13579)
10
+ g1 = [ 392, 507, 1657, 3963, 2275, 1264, 2370, 2152, 3282, 407,
11
+ 1746, 2488, 1753, 1639, 721, 3291, 3697, 2258, 3990, 1019]
12
+ g1.size.times do |i|
13
+ assert_equal(g1[i], @a.urandomb(12), "GMP::RandState should urandomb predictably.")
14
+ end
15
+
16
+ @b = GMP::RandState.new
17
+ @b.seed(314159)
18
+ g2 = [ 20, 5, 40, 228, 223, 205, 1750, 690, 5794, 13752,
19
+ 31377, 49064, 37010, 187285, 489973, 312091, 550520, 916752, 3213943, 1561294]
20
+ g2.size.times do |i|
21
+ assert_equal(g2[i], @b.urandomb(i+5), "GMP::RandState should urandomb predictably.")
22
+ end
23
+ end
24
+
25
+ def test_reseed
26
+ @c = GMP::RandState.new
27
+ @c.seed(1000)
28
+ assert_equal( 6461, @c.urandomb(16), "GMP::RandState should re-seed correctly.")
29
+ assert_equal(42961, @c.urandomb(16), "GMP::RandState should re-seed correctly.")
30
+ assert_equal(44699, @c.urandomb(16), "GMP::RandState should re-seed correctly.")
31
+ @c.seed(1000)
32
+ assert_equal( 6461, @c.urandomb(16), "GMP::RandState should re-seed correctly.")
33
+ assert_equal(42961, @c.urandomb(16), "GMP::RandState should re-seed correctly.")
34
+ assert_equal(44699, @c.urandomb(16), "GMP::RandState should re-seed correctly.")
35
+ @c.seed(1000)
36
+ assert_equal( 6461, @c.urandomb(16), "GMP::RandState should re-seed correctly.")
37
+ assert_equal(42961, @c.urandomb(16), "GMP::RandState should re-seed correctly.")
38
+ assert_equal(44699, @c.urandomb(16), "GMP::RandState should re-seed correctly.")
39
+ end
40
+
41
+ def test_random_independent_states
42
+ @d = GMP::RandState.new
43
+ @d.seed(13579)
44
+ @e = GMP::RandState.new
45
+ @e.seed(13579)
46
+
47
+ assert_equal( 392, @d.urandomb(12), "GMP::RandState should be independent correctly.")
48
+ assert_equal( 507, @d.urandomb(12), "GMP::RandState should be independent correctly.")
49
+ assert_equal( 392, @e.urandomb(12), "GMP::RandState should be independent correctly.")
50
+ assert_equal( 507, @e.urandomb(12), "GMP::RandState should be independent correctly.")
51
+ assert_equal(1657, @d.urandomb(12), "GMP::RandState should be independent correctly.")
52
+ assert_equal(1657, @e.urandomb(12), "GMP::RandState should be independent correctly.")
53
+ end
54
+ end
@@ -0,0 +1,57 @@
1
+ require 'test_helper'
2
+
3
+ class TC_Z_GCD_LCM_Invert < Test::Unit::TestCase
4
+ def setup
5
+ @a = GMP::Z( 24) # 2^3 * 3
6
+ @b = GMP::Z( 8) # 2^3
7
+ @c = GMP::Z( 3) # 3
8
+ @d = GMP::Z( 7) # 7
9
+ @e = GMP::Z( 11) # 11
10
+ @f = GMP::Z( 25) # 25
11
+ @g = GMP::Z(720) # 2^4 * 3^2 * 5 = 1*2*3*4*5*6
12
+ end
13
+
14
+ def test_gcd
15
+ assert_equal(GMP::Z( 8), @a.gcd(@b), "GMP::Z should gcd correctly")
16
+ assert_equal(GMP::Z( 3), @a.gcd(@c), "GMP::Z should gcd correctly")
17
+ assert_equal(GMP::Z( 1), @c.gcd(@d), "GMP::Z should gcd correctly")
18
+ assert_equal(GMP::Z( 1), @a.gcd(@f), "GMP::Z should gcd correctly")
19
+ assert_equal(GMP::Z(24), @a.gcd(@g), "GMP::Z should gcd correctly")
20
+ end
21
+
22
+ def test_gcd2
23
+ assert_equal(GMP::Z( 8), (-@a).gcd(@b), "GMP::Z should gcd negatives correctly")
24
+ assert_equal(GMP::Z( 3), (-@a).gcd(@c), "GMP::Z should gcd negatives correctly")
25
+ assert_equal(GMP::Z( 1), (-@c).gcd(@d), "GMP::Z should gcd correctly")
26
+ assert_equal(GMP::Z(24), (-@a).gcd(@g), "GMP::Z should gcd correctly")
27
+
28
+ assert_equal(GMP::Z( 8), @a.gcd(-@b), "GMP::Z should gcd negatives correctly")
29
+ assert_equal(GMP::Z( 3), @a.gcd(-@c), "GMP::Z should gcd negatives correctly")
30
+ assert_equal(GMP::Z( 1), @c.gcd(-@d), "GMP::Z should gcd correctly")
31
+ assert_equal(GMP::Z(24), @a.gcd(-@g), "GMP::Z should gcd correctly")
32
+
33
+ assert_equal(GMP::Z( 8), (-@a).gcd(-@b), "GMP::Z should gcd negatives correctly")
34
+ assert_equal(GMP::Z( 3), (-@a).gcd(-@c), "GMP::Z should gcd negatives correctly")
35
+ assert_equal(GMP::Z( 1), (-@c).gcd(-@d), "GMP::Z should gcd correctly")
36
+ assert_equal(GMP::Z(24), (-@a).gcd(-@g), "GMP::Z should gcd correctly")
37
+ end
38
+
39
+ def test_invert
40
+ assert_equal(GMP::Z( 1), GMP::Z( 1).invert(@e), "GMP::Z should invert correctly")
41
+ assert_equal(GMP::Z( 6), GMP::Z( 2).invert(@e), "GMP::Z should invert correctly")
42
+ assert_equal(GMP::Z( 4), GMP::Z( 3).invert(@e), "GMP::Z should invert correctly")
43
+ assert_equal(GMP::Z( 3), GMP::Z( 4).invert(@e), "GMP::Z should invert correctly")
44
+ assert_equal(GMP::Z( 9), GMP::Z( 5).invert(@e), "GMP::Z should invert correctly")
45
+ assert_equal(GMP::Z( 2), GMP::Z( 6).invert(@e), "GMP::Z should invert correctly")
46
+ assert_equal(GMP::Z( 8), GMP::Z( 7).invert(@e), "GMP::Z should invert correctly")
47
+ assert_equal(GMP::Z( 7), GMP::Z( 8).invert(@e), "GMP::Z should invert correctly")
48
+ assert_equal(GMP::Z( 5), GMP::Z( 9).invert(@e), "GMP::Z should invert correctly")
49
+ assert_equal(GMP::Z(10), GMP::Z(10).invert(@e), "GMP::Z should invert correctly")
50
+ assert_equal(GMP::Z( 0), GMP::Z(11).invert(@e), "GMP::Z should invert correctly")
51
+
52
+ assert_equal(GMP::Z( 1), GMP::Z(12).invert(@e), "GMP::Z should invert correctly")
53
+ assert_equal(GMP::Z( 6), GMP::Z(13).invert(@e), "GMP::Z should invert correctly")
54
+ assert_equal(GMP::Z( 4), GMP::Z(14).invert(@e), "GMP::Z should invert correctly")
55
+ assert_equal(GMP::Z( 3), GMP::Z(15).invert(@e), "GMP::Z should invert correctly")
56
+ end
57
+ end
data/test/test-12.rb ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'gmp'
4
+
5
+ a=GMP::Q.new(200,11)
6
+ b=-a
7
+ c=a.floor
8
+ d=a.ceil
9
+ e=a.trunc
10
+ f=b.floor
11
+ g=b.ceil
12
+ h=b.trunc
13
+
14
+ [c,d,e,f,g,h].each { |var| p var }
data/test/test-19.rb ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'gmp'
4
+
5
+ a=GMP::Z.new(5)
6
+ b=GMP::Z.new(7)
7
+ c=GMP::Q.new(3,11)
8
+ d=GMP::F.new(3.14)
9
+ e=2**32
10
+
11
+ f=[a/b,a/3,3/a,a/c,c/a,a/d,d/a,a/e,e/a]
12
+
13
+ f.each {|var| p var}
data/test/test-20.rb ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'gmp'
4
+
5
+ a=GMP::F.new -1
6
+ b=GMP::F.new 0
7
+ c=GMP::F.new 0.1
8
+ d=GMP::F.new 1
9
+ e=GMP::F.new 2
10
+ f=GMP::F.new 4
11
+ g=GMP::F.new 10
12
+
13
+ print "exp:\n"
14
+ [a,b,c,d,e,f,g].map{|x| p x.exp}
15
+
16
+ print "log:\n"
17
+ [c,d,e,f,g].map{|x| p x.log}
18
+
19
+ print "log2:\n"
20
+ [c,d,e,f,g].map{|x| p x.log2}
21
+
22
+ print "log10:\n"
23
+ [c,d,e,f,g].map{|x| p x.log10}
24
+
25
+ print "log1p:\n"
26
+ [c,d,e,f,g].map{|x| p x.log1p}
27
+
28
+ print "expm1:\n"
29
+ [a,b,c,d,e,f,g].map{|x| p x.expm1}
data/test/test-21.rb ADDED
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'gmp'
4
+
5
+ pi = GMP::F.new(1).asin * 2
6
+
7
+ a = GMP::F.new 0
8
+ b = pi / 4
9
+ c = pi / 2
10
+ d = -pi / 2
11
+
12
+ print "cos:\n"
13
+ [a,b,c,d].map{|x| p x.cos}
14
+
15
+ print "sin:\n"
16
+ [a,b,c,d].map{|x| p x.sin}
17
+
18
+ print "tan:\n"
19
+ [a,b,c,d].map{|x| p x.tan}
20
+
21
+ print "cosh:\n"
22
+ [a,b,c,d].map{|x| p x.cosh}
23
+
24
+ print "sinh:\n"
25
+ [a,b,c,d].map{|x| p x.sinh}
26
+
27
+ print "tanh:\n"
28
+ [a,b,c,d].map{|x| p x.tanh}
29
+
30
+
31
+ print "inverses:\n"
32
+ [a,b,c,d].map{|x| p [x,x.cos.acos] }
33
+ [a,b,c,d].map{|x| p [x,x.sin.asin] }
34
+ [a,b,c,d].map{|x| p [x,x.tan.atan] }
35
+ [a,b,c,d].map{|x| p [x,x.cosh.acosh] }
36
+ [a,b,c,d].map{|x| p [x,x.sinh.asinh] }
37
+ [a,b,c,d].map{|x| p [x,x.tanh.atanh] }
data/test/test-22.rb ADDED
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'gmp'
4
+
5
+ a = GMP::F.new 0
6
+ b = GMP::F.new 1
7
+ c = b / a
8
+ d = -c
9
+ e = a * c
10
+
11
+ [a,b,c,d,e].map{|x| p [x, x.finite?, x.infinite?] }
12
+ [a,b,c,d,e].map{|x| p [x, x.number?, x.nan?] }
data/test/test-23.rb ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'gmp'
4
+
5
+ a = GMP::F.new 256
6
+ b = GMP::F.new 10
7
+ c = GMP::F.new 0.5
8
+
9
+ [a,b].map{|x| p x.sqrt }
10
+ [a,b].map{|x| p x ** c }
11
+
data/test/test_helper.rb CHANGED
@@ -1,2 +1,8 @@
1
1
  require 'test/unit'
2
+ require 'rbconfig'
3
+
4
+ ENV['PATH'] = [File.expand_path(
5
+ File.join(File.dirname(__FILE__), "..", "ext")
6
+ ), ENV['PATH']].compact.join(';') if RbConfig::CONFIG['host_os'] =~ /(mswin|mingw|mingw32)/i
7
+
2
8
  require File.dirname(__FILE__) + '/../ext/gmp'
data/test/unit_tests.rb CHANGED
@@ -18,107 +18,22 @@ require 'tc_z_shifts_last_bits'
18
18
  require 'tc_logical_roots'
19
19
  require 'tc_f_precision'
20
20
  require 'tc_f_arithmetics_coersion'
21
+ require 'tc_division'
21
22
  require 'tc_z_jac_leg_rem'
23
+ require 'tc_z_gcd_lcm_invert'
24
+ require 'tc_random'
22
25
 
23
26
  class TC_default_prec < Test::Unit::TestCase
24
27
  def test_default_prec
25
28
  assert_equal( 64, GMP::F.default_prec, "GMP::F.default_prec should be 64.")
26
29
  GMP::F.default_prec = 100
27
30
  assert_equal(128, GMP::F.default_prec, "GMP::F.default_prec should be assignable.")
31
+ GMP::F.default_prec = 130
32
+ assert_equal(160, GMP::F.default_prec, "GMP::F.default_prec should be assignable.")
33
+ GMP::F.default_prec = 1000
34
+ assert_equal(1024, GMP::F.default_prec, "GMP::F.default_prec should be assignable.")
35
+ assert_raise(RangeError) { GMP::F.default_prec = -64 }
36
+ assert_raise(TypeError) { GMP::F.default_prec = "Cow" }
28
37
  GMP::F.default_prec = 64
29
38
  end
30
- end
31
-
32
- class TC_division < Test::Unit::TestCase
33
- def setup
34
- @a = GMP::Z.new(5)
35
- @b = GMP::Z.new(7)
36
- @c = GMP::Z.new(25)
37
- @d = GMP::Q.new(3,11)
38
- @e = GMP::F.new(3.14)
39
- @f = 2**32
40
- end
41
-
42
- def test_z_div
43
- assert_equal(GMP::Q, (@a / @b ).class, "GMP::Z / GMP::Z should be GMP::Q.")
44
- assert_equal(GMP::Q, (@a / 3 ).class, "GMP::Z / Fixnum should be GMP::Q.")
45
- assert_equal(GMP::Q, (@a / 2**32).class, "GMP::Z / Bignum should be GMP::Q.")
46
- assert_equal(GMP::Q, (@a / @c ).class, "GMP::Z / GMP::Z should be GMP::Q.")
47
- assert_in_delta(0.7142857142, @a / @b, 1e-7, "GMP::Z./ should work.")
48
- assert_in_delta(1.4 , @b / @a, 1e-7, "GMP::Z./ should work.")
49
- assert_in_delta(1.6666666667, @a / 3, 1e-7, "GMP::Z./ should work.")
50
- assert_in_delta(0.6 , 3 / @a, 1e-7, "GMP::Z./ should work.")
51
- assert_in_delta(0.2 , @a / @c, 1e-7, "GMP::Z./ should work.")
52
- assert_in_delta(5.0 , @c / @a, 1e-7, "GMP::Z./ should work.")
53
- end
54
-
55
- def test_z_tdiv
56
- assert_equal(GMP::Z, @a.tdiv(@b).class, "GMP::Z.tdiv GMP::Z should be GMP::Z.")
57
- assert_equal(GMP::Z, @a.tdiv(3).class, "GMP::Z.tdiv Fixnum should be GMP::Z.")
58
- assert_equal(GMP::Z, @a.tdiv(2**32).class, "GMP::Z.tdiv Bignum should be GMP::Z.")
59
- assert_equal(GMP::Z, @a.tdiv(@c).class, "GMP::Z.tdiv GMP::Z should be GMP::Z.")
60
- assert_equal(0, @a.tdiv(@b), "GMP::Z.tdiv should work.")
61
- assert_equal(1, @b.tdiv(@a), "GMP::Z.tdiv should work.")
62
- assert_equal(1, @a.tdiv( 3), "GMP::Z.tdiv should work.")
63
- assert_equal(0, @a.tdiv(@c), "GMP::Z.tdiv should work.")
64
- assert_equal(5, @c.tdiv(@a), "GMP::Z.tdiv should work.")
65
- end
66
-
67
- def test_z_fdiv
68
- assert_equal(GMP::Z, @a.fdiv(@b).class, "GMP::Z.fdiv GMP::Z should be GMP::Z.")
69
- assert_equal(GMP::Z, @a.fdiv(3).class, "GMP::Z.fdiv Fixnum should be GMP::Z.")
70
- assert_equal(GMP::Z, @a.fdiv(2**32).class, "GMP::Z.fdiv Bignum should be GMP::Z.")
71
- assert_equal(0, @a.fdiv(@b), "GMP::Z.fdiv should work.")
72
- assert_equal(1, @b.fdiv(@a), "GMP::Z.fdiv should work.")
73
- assert_equal(1, @a.fdiv( 3), "GMP::Z.fdiv should work.")
74
- assert_equal(0, @a.fdiv(@c), "GMP::Z.fdiv should work.")
75
- assert_equal(5, @c.fdiv(@a), "GMP::Z.fdiv should work.")
76
- end
77
-
78
- def test_z_cdiv
79
- assert_equal(GMP::Z, @a.cdiv(@b).class, "GMP::Z.cdiv GMP::Z should be GMP::Z.")
80
- assert_equal(GMP::Z, @a.cdiv(3).class, "GMP::Z.cdiv Fixnum should be GMP::Z.")
81
- assert_equal(GMP::Z, @a.cdiv(2**32).class, "GMP::Z.cdiv Bignum should be GMP::Z.")
82
- assert_equal(1, @a.cdiv(@b), "GMP::Z.cdiv should work.")
83
- assert_equal(2, @b.cdiv(@a), "GMP::Z.cdiv should work.")
84
- assert_equal(2, @a.cdiv( 3), "GMP::Z.cdiv should work.")
85
- assert_equal(1, @a.cdiv(@c), "GMP::Z.cdiv should work.")
86
- assert_equal(5, @c.cdiv(@a), "GMP::Z.cdiv should work.")
87
- end
88
-
89
- def test_z_tmod
90
- assert_equal(GMP::Z, @a.tmod(@b).class, "GMP::Z.tmod GMP::Z should be GMP::Z.")
91
- assert_equal(GMP::Z, @a.tmod(3).class, "GMP::Z.tmod Fixnum should be GMP::Z.")
92
- assert_equal(GMP::Z, @a.tmod(2**32).class, "GMP::Z.tmod Bignum should be GMP::Z.")
93
- assert_equal(GMP::Z, @a.tmod(@c).class, "GMP::Z.tmod GMP::Z should be GMP::Z.")
94
- assert_equal(5, @a.tmod(@b), "GMP::Z.tmod should work.")
95
- assert_equal(2, @b.tmod(@a), "GMP::Z.tmod should work.")
96
- assert_equal(2, @a.tmod( 3), "GMP::Z.tmod should work.")
97
- assert_equal(5, @a.tmod(@c), "GMP::Z.tmod should work.")
98
- assert_equal(0, @c.tmod(@a), "GMP::Z.tmod should work.")
99
- end
100
-
101
- def test_z_fmod
102
- assert_equal(GMP::Z, @a.fmod(@b).class, "GMP::Z.fmod GMP::Z should be GMP::Z.")
103
- assert_equal(GMP::Z, @a.fmod(3).class, "GMP::Z.fmod Fixnum should be GMP::Z.")
104
- assert_equal(GMP::Z, @a.fmod(2**32).class, "GMP::Z.fmod Bignum should be GMP::Z.")
105
- assert_equal(GMP::Z, @a.fmod(@c).class, "GMP::Z.fmod GMP::Z should be GMP::Z.")
106
- assert_equal(5, @a.fmod(@b), "GMP::Z.fmod should work.")
107
- assert_equal(2, @b.fmod(@a), "GMP::Z.fmod should work.")
108
- assert_equal(2, @a.fmod( 3), "GMP::Z.fmod should work.")
109
- assert_equal(5, @a.fmod(@c), "GMP::Z.fmod should work.")
110
- assert_equal(0, @c.fmod(@a), "GMP::Z.fmod should work.")
111
- end
112
-
113
- def test_z_cmod
114
- assert_equal(GMP::Z, @a.cmod(@b).class, "GMP::Z.cmod GMP::Z should be GMP::Z.")
115
- assert_equal(GMP::Z, @a.cmod(3).class, "GMP::Z.cmod Fixnum should be GMP::Z.")
116
- assert_equal(GMP::Z, @a.cmod(2**32).class, "GMP::Z.cmod Bignum should be GMP::Z.")
117
- assert_equal(GMP::Z, @a.cmod(@c).class, "GMP::Z.cmod GMP::Z should be GMP::Z.")
118
- assert_equal( -2, @a.cmod(@b), "GMP::Z.cmod should work.")
119
- assert_equal( -3, @b.cmod(@a), "GMP::Z.cmod should work.")
120
- assert_equal( -1, @a.cmod( 3), "GMP::Z.cmod should work.")
121
- assert_equal(-20, @a.cmod(@c), "GMP::Z.cmod should work.")
122
- assert_equal( 0, @c.cmod(@a), "GMP::Z.cmod should work.")
123
- end
124
39
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gmp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomasz Wegrzanowski
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-12-22 00:00:00 -07:00
13
+ date: 2010-01-03 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies: []
16
16
 
@@ -25,43 +25,64 @@ extensions:
25
25
  extra_rdoc_files: []
26
26
 
27
27
  files:
28
- - ext/extconf.rb
29
28
  - ext/gmp.c
29
+ - ext/gmpbench_timing.c
30
30
  - ext/gmpf.c
31
- - ext/gmpf.h
32
31
  - ext/gmpq.c
33
- - ext/gmpq.h
32
+ - ext/gmprandstate.c
34
33
  - ext/gmpz.c
34
+ - ext/gmpf.h
35
+ - ext/gmpq.h
35
36
  - ext/gmpz.h
36
37
  - ext/ruby_gmp.h
37
38
  - ext/takeover.h
38
- - test/README
39
+ - ext/extconf.rb
39
40
  - test/tc_cmp.rb
40
- - test/tc_f_precision.rb
41
- - test/tc_f_arithmetics_coersion.rb
41
+ - test/tc_division.rb
42
42
  - test/tc_fib_fac_nextprime.rb
43
43
  - test/tc_floor_ceil_truncate.rb
44
+ - test/tc_f_arithmetics_coersion.rb
45
+ - test/tc_f_precision.rb
44
46
  - test/tc_logical_roots.rb
45
47
  - test/tc_q.rb
46
48
  - test/tc_q_basic.rb
49
+ - test/tc_random.rb
47
50
  - test/tc_sgn_neg_abs.rb
48
51
  - test/tc_swap.rb
49
52
  - test/tc_z.rb
53
+ - test/tc_zerodivisionexceptions.rb
50
54
  - test/tc_z_basic.rb
51
55
  - test/tc_z_exponentiation.rb
56
+ - test/tc_z_gcd_lcm_invert.rb
52
57
  - test/tc_z_jac_leg_rem.rb
53
58
  - test/tc_z_logic.rb
54
59
  - test/tc_z_shifts_last_bits.rb
55
60
  - test/tc_z_to_d_to_i.rb
56
- - test/tc_zerodivisionexceptions.rb
61
+ - test/test-12.rb
62
+ - test/test-19.rb
63
+ - test/test-20.rb
64
+ - test/test-21.rb
65
+ - test/test-22.rb
66
+ - test/test-23.rb
57
67
  - test/test_helper.rb
58
68
  - test/unit_tests.rb
69
+ - test/README
70
+ - benchmark/COPYING
71
+ - benchmark/divide
72
+ - benchmark/gcd
73
+ - benchmark/gexpr
74
+ - benchmark/gexpr.c
75
+ - benchmark/multiply
76
+ - benchmark/README
77
+ - benchmark/rsa
78
+ - benchmark/runbench
79
+ - benchmark/version
59
80
  - CHANGELOG
60
81
  - INSTALL
61
82
  - README.rdoc
62
83
  - manual.pdf
63
84
  - manual.tex
64
- has_rdoc: false
85
+ has_rdoc: true
65
86
  homepage: http://github.com/srawlins/gmp
66
87
  licenses: []
67
88