gsl 2.1.0.1 → 2.1.0.2

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/lib/gsl.rb CHANGED
@@ -1,13 +1,14 @@
1
1
  begin
2
- require 'narray'
2
+ require 'narray' if ENV['NARRAY']
3
3
  rescue LoadError
4
4
  end
5
5
 
6
6
  begin
7
- require 'nmatrix/nmatrix'
7
+ require 'nmatrix/nmatrix' if ENV['NMATRIX']
8
8
  rescue LoadError
9
9
  end
10
10
 
11
11
  require 'gsl_native'
12
12
  require 'gsl/version'
13
13
  require 'gsl/oper'
14
+ require 'gsl/interp2d_fix' if GSL::GSL_VERSION >= '2.0'
@@ -0,0 +1,64 @@
1
+ # Reasons for existence of this code:
2
+ #
3
+ # It so happens that GSL's 2D interpolation methods are somehow swapping X and
4
+ # Y co-ordinates and returning a wrong result. This is a bug in GSL, and in order
5
+ # to make up for that, we swap the x and y points before passing them to GSL.
6
+ # The detect_gsl_interp2d_swapping_bug method tests the inter2d eval function
7
+ # to see if the bug exists so that in case a future GSL update fixes the bug,
8
+ # this Ruby wrapper will remain unaffected.
9
+ #
10
+ # For testing whether the bug exists, the eval method is run and tested against
11
+ # what is known to be corrent output (ans_expected), and the @@swapped class
12
+ # variable is set to true if the result is not consistent with the expected
13
+ # output. If @swapped is true, the x and y values are internally swapped by
14
+ # the Ruby wrapper before passing them to GSL for processing.
15
+ module GSL
16
+ class Interp2d
17
+ module BugDetectHelper
18
+ class << self
19
+ def asymmetric_function(x, y)
20
+ x - 2*y
21
+ end
22
+ end
23
+ end
24
+
25
+ def self.detect_gsl_interp2d_swapping_bug
26
+ @@swapped = nil
27
+ x = GSL::Vector.alloc((-4..4).to_a)
28
+ y = GSL::Vector.alloc((-4..4).to_a)
29
+
30
+ z = []
31
+ x.each do |xi|
32
+ y.each do |yi|
33
+ z << BugDetectHelper.asymmetric_function(xi, yi)
34
+ end
35
+ end
36
+ z = GSL::Vector.alloc(z)
37
+ i2d = GSL::Interp2d.alloc(GSL::Interp2d::BICUBIC, x, y, z)
38
+
39
+ test_x = x[1]
40
+ test_y = y[1]
41
+
42
+ ans_normal = i2d.eval(x,y,z,test_x, test_y)
43
+ ans_swapped = i2d.eval(x,y,z,test_y, test_x)
44
+ ans_expected = BugDetectHelper.asymmetric_function(test_x, test_y)
45
+ @@swapped = ans_expected == ans_normal
46
+
47
+ @@swapped
48
+ end
49
+
50
+ def self.swapped
51
+ @@swapped
52
+ end
53
+ end
54
+
55
+ class Spline2d
56
+ @@swapped = GSL::Interp2d.detect_gsl_interp2d_swapping_bug
57
+
58
+ def self.swapped
59
+ @@swapped
60
+ end
61
+ end
62
+ end
63
+
64
+ GSL::Interp2d.detect_gsl_interp2d_swapping_bug
@@ -1,3 +1,3 @@
1
1
  module GSL
2
- RUBY_GSL_VERSION = RB_GSL_VERSION = '2.1.0.1'
2
+ RUBY_GSL_VERSION = RB_GSL_VERSION = '2.1.0.2'
3
3
  end
File without changes
@@ -16,5 +16,16 @@ class ComplexTest < GSL::TestCase
16
16
  'gsl_complex_polar imag part at (r=%g,t=%g)' % [r, t]
17
17
  }
18
18
  end
19
-
19
+
20
+ # Test if it is possible to create a GSL::Complex from ::Complex
21
+ def test_rb_complex_creation
22
+ rb_comp = Complex(rand, rand)
23
+
24
+ z = GSL::Complex.alloc(rb_comp)
25
+
26
+ assert_rel z.real, rb_comp.real, GSL::DBL_EPSILON,
27
+ "gsl_complex real part. Re(#{rb_comp}) = #{z.real}"
28
+ assert_rel z.imag, rb_comp.imag, GSL::DBL_EPSILON,
29
+ "gsl_complex imag part. Im(#{rb_comp}) = #{z.imag}"
30
+ end
20
31
  end
@@ -0,0 +1,108 @@
1
+ require 'test_helper'
2
+
3
+ class Interp2dTest < GSL::TestCase
4
+
5
+ def setup
6
+ x_samples =(-20..20).map(&:to_f).to_a
7
+ y_samples = (-20..20).map(&:to_f).to_a
8
+ z_samples = []
9
+ x_samples.each do |x|
10
+ y_samples.each do |y|
11
+ z_samples << saddle(x,y)
12
+ end
13
+ end
14
+
15
+ @x_array = GSL::Vector.alloc(x_samples)
16
+ @y_array = GSL::Vector.alloc(y_samples)
17
+ @z_array = GSL::Vector.alloc(z_samples)
18
+
19
+ tolerance = 0.05 # 5% inaccuracy is tolerated in tests below
20
+
21
+
22
+ @i2d_bicubic = GSL::Interp2d.alloc(GSL::Interp2d::BICUBIC,
23
+ @x_array, @y_array, @z_array)
24
+
25
+ @i2d_bilinear = GSL::Interp2d.alloc(GSL::Interp2d::BILINEAR,
26
+ @x_array, @y_array, @z_array)
27
+ end
28
+
29
+ def saddle(x,y)
30
+ x*x - y*y
31
+ end
32
+
33
+ def test_constants
34
+ assert_equal 0, GSL::Interp2d::BICUBIC
35
+ assert_equal 1, GSL::Interp2d::BILINEAR
36
+ end
37
+
38
+ def test_alloc_alternate_arg_construct
39
+ i2d = GSL::Interp2d.alloc(GSL::Interp2d::BICUBIC, 10, 10)
40
+
41
+ assert_equal GSL::Interp2d, i2d.class
42
+ end
43
+
44
+ def test_alloc
45
+ assert_equal GSL::Interp2d, @i2d_bicubic.class
46
+ assert_equal GSL::Interp2d, @i2d_bilinear.class
47
+ end
48
+
49
+ def test_alloc_init
50
+ i2d = GSL::Interp2d.alloc(GSL::Interp2d::BICUBIC, @x_array.size, @y_array.size)
51
+ i2d.init(@x_array, @y_array, @z_array)
52
+
53
+ assert_equal GSL::Interp2d, i2d.class
54
+ end
55
+
56
+ def test_info
57
+ str = <<-EOF
58
+ Class: GSL::Interp2d
59
+ SuperClass: GSL::Object
60
+ Type: bilinear
61
+ xmin: -20.000000
62
+ xmax: 20.000000
63
+ ymin: -20.000000
64
+ ymax: 20.000000
65
+ xsize: 41
66
+ ysize: 41
67
+ EOF
68
+ assert_equal str, @i2d_bilinear.info
69
+ end
70
+
71
+ def test_use_case_saddle_interpolation
72
+ tolerance = 0.05 # 5% inaccuracy is tolerated in tests below
73
+ interpolator_type = GSL::Interp2d::BICUBIC
74
+
75
+ i2d = GSL::Interp2d.alloc(interpolator_type, @x_array, @y_array, @z_array)
76
+
77
+ # confirm that the fit passes very close to the sampled data points
78
+ @x_array.each do |x|
79
+ @y_array.each do |y|
80
+ expected_z = saddle(x,y)
81
+ z = i2d.eval(@x_array, @y_array, @z_array, x, y)
82
+ error = (z - expected_z).abs
83
+ max_error = (expected_z.abs)*tolerance
84
+ if max_error == 0
85
+ max_error = tolerance
86
+ end
87
+ refute error > max_error, "error @ sample #{x},#{y} z: #{z} expected_z: #{expected_z}"
88
+ end
89
+ end
90
+
91
+ interstitial_x_values = @x_array.to_a.first(@x_array.size-1).map {|v| v+ 0.5}
92
+ interstitial_y_values = @y_array.to_a.first(@y_array.size-1).map {|v| v+ 0.3}
93
+
94
+ # confirm that interstitial values are interpolated accurately
95
+ interstitial_x_values.each do |x|
96
+ interstitial_y_values.each do |y|
97
+ expected_z = saddle(x,y)
98
+ z = i2d.eval(@x_array, @y_array, @z_array, x,y)
99
+ error = (z - expected_z).abs
100
+ max_error = (expected_z.abs)*tolerance
101
+ if max_error == 0
102
+ max_error = tolerance
103
+ end
104
+ refute error > max_error, "error @ interstitial #{x},#{y}"
105
+ end
106
+ end
107
+ end
108
+ end if GSL::GSL_VERSION >= '2.0'
@@ -0,0 +1,81 @@
1
+ require 'test_helper'
2
+
3
+ class Spline2dTest < GSL::TestCase
4
+ def saddle(x,y)
5
+ x*x - y*y
6
+ end
7
+
8
+ def setup
9
+ x_samples =(-20..20).map(&:to_f).to_a
10
+ y_samples = (-20..20).map(&:to_f).to_a
11
+ z_samples = []
12
+ x_samples.each do |x|
13
+ y_samples.each do |y|
14
+ z_samples << saddle(x,y)
15
+ end
16
+ end
17
+
18
+ @x_array = GSL::Vector.alloc(x_samples)
19
+ @y_array = GSL::Vector.alloc(y_samples)
20
+ @z_array = GSL::Vector.alloc(z_samples)
21
+
22
+ @i2d_bicubic = GSL::Spline2d.alloc(GSL::Interp2d::BICUBIC,
23
+ @x_array, @y_array, @z_array)
24
+
25
+ @i2d_bilinear = GSL::Spline2d.alloc(GSL::Interp2d::BILINEAR,
26
+ @x_array, @y_array, @z_array)
27
+ end
28
+
29
+ def test_info
30
+ str = <<-EOF
31
+ Class: GSL::Spline2d
32
+ SuperClass: GSL::Object
33
+ Type: bilinear
34
+ xmin: -20.000000
35
+ xmax: 20.000000
36
+ ymin: -20.000000
37
+ ymax: 20.000000
38
+ xSize: 41
39
+ ySize: 41
40
+ EOF
41
+ assert_equal str, @i2d_bilinear.info
42
+ end
43
+
44
+ def test_use_case_saddle_interpolation
45
+ tolerance = 0.05 # 5% inaccuracy is tolerated in tests below
46
+ interpolator_type = GSL::Interp2d::BICUBIC
47
+
48
+ i2d = GSL::Spline2d.alloc(interpolator_type, @x_array, @y_array, @z_array)
49
+
50
+ # confirm that the fit passes very close to the sampled data points
51
+ @x_array.each do |x|
52
+ @y_array.each do |y|
53
+ expected_z = saddle(x,y)
54
+ z = i2d.eval(x, y)
55
+ error = (z - expected_z).abs
56
+ max_error = (expected_z.abs)*tolerance
57
+ if max_error == 0
58
+ max_error = tolerance
59
+ end
60
+ refute error > max_error, "error @ sample #{x},#{y} z: #{z} expected_z: #{expected_z}"
61
+ end
62
+ end
63
+
64
+ interstitial_x_values = @x_array.to_a.first(@x_array.size-1).map {|v| v+ 0.5}
65
+ interstitial_y_values = @y_array.to_a.first(@y_array.size-1).map {|v| v+ 0.3}
66
+
67
+ # confirm that interstitial values are interpolated accurately
68
+ interstitial_x_values.each do |x|
69
+ interstitial_y_values.each do |y|
70
+ expected_z = saddle(x,y)
71
+ z = i2d.eval(x,y)
72
+ error = (z - expected_z).abs
73
+ max_error = (expected_z.abs)*tolerance
74
+ if max_error == 0
75
+ max_error = tolerance
76
+ end
77
+ refute error > max_error, "error @ interstitial #{x},#{y}"
78
+ end
79
+ end
80
+ end
81
+ end if GSL::GSL_VERSION >= '2.0'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0.1
4
+ version: 2.1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshiki Tsunesada
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-05-10 00:00:00.000000000 Z
14
+ date: 2017-01-30 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rake-compiler
@@ -76,118 +76,120 @@ executables: []
76
76
  extensions:
77
77
  - ext/gsl_native/extconf.rb
78
78
  extra_rdoc_files:
79
- - rdoc/linalg.rdoc
80
- - rdoc/narray.rdoc
79
+ - rdoc/interp2d.rdoc
80
+ - rdoc/ehandling.rdoc
81
+ - rdoc/integration.rdoc
82
+ - rdoc/sort.rdoc
81
83
  - rdoc/multiroot.rdoc
82
- - rdoc/function.rdoc
83
- - rdoc/ref.rdoc
84
84
  - rdoc/stats.rdoc
85
- - rdoc/hist3d.rdoc
86
- - rdoc/sf.rdoc
87
- - rdoc/monte.rdoc
88
- - rdoc/tut.rdoc
89
85
  - rdoc/bspline.rdoc
90
- - rdoc/integration.rdoc
86
+ - rdoc/hist.rdoc
87
+ - rdoc/wavelet.rdoc
88
+ - rdoc/function.rdoc
89
+ - rdoc/use.rdoc
90
+ - rdoc/const.rdoc
91
+ - rdoc/interp.rdoc
92
+ - rdoc/hist2d.rdoc
93
+ - rdoc/vector.rdoc
94
+ - rdoc/tensor.rdoc
95
+ - rdoc/poly.rdoc
96
+ - rdoc/linalg_complex.rdoc
97
+ - rdoc/sum.rdoc
98
+ - rdoc/siman.rdoc
91
99
  - rdoc/multimin.rdoc
92
- - rdoc/complex.rdoc
93
- - rdoc/combi.rdoc
100
+ - rdoc/ntuple.rdoc
94
101
  - rdoc/changes.rdoc
95
- - rdoc/sort.rdoc
96
- - rdoc/interp.rdoc
97
- - rdoc/randist.rdoc
102
+ - rdoc/odeiv.rdoc
103
+ - rdoc/nonlinearfit.rdoc
104
+ - rdoc/ref.rdoc
98
105
  - rdoc/roots.rdoc
99
- - rdoc/vector_complex.rdoc
100
- - rdoc/math.rdoc
101
- - rdoc/siman.rdoc
102
- - rdoc/alf.rdoc
103
- - rdoc/graph.rdoc
104
- - rdoc/poly.rdoc
105
- - rdoc/hist.rdoc
106
- - rdoc/cholesky_complex.rdoc
106
+ - rdoc/ndlinear.rdoc
107
+ - rdoc/randist.rdoc
108
+ - rdoc/complex.rdoc
107
109
  - rdoc/fft.rdoc
110
+ - rdoc/graph.rdoc
111
+ - rdoc/vector_complex.rdoc
112
+ - rdoc/nmatrix.rdoc
113
+ - rdoc/narray.rdoc
114
+ - rdoc/monte.rdoc
108
115
  - rdoc/rng.rdoc
109
- - rdoc/nonlinearfit.rdoc
110
- - rdoc/const.rdoc
116
+ - rdoc/diff.rdoc
117
+ - rdoc/eigen.rdoc
118
+ - rdoc/sf.rdoc
111
119
  - rdoc/qrng.rdoc
112
- - rdoc/ndlinear.rdoc
113
- - rdoc/linalg_complex.rdoc
114
- - rdoc/tensor.rdoc
115
- - rdoc/matrix.rdoc
116
- - rdoc/fit.rdoc
117
- - rdoc/start.rdoc
120
+ - rdoc/alf.rdoc
121
+ - rdoc/combi.rdoc
118
122
  - rdoc/dht.rdoc
119
- - rdoc/nmatrix.rdoc
123
+ - rdoc/matrix.rdoc
124
+ - rdoc/cholesky_complex.rdoc
120
125
  - rdoc/cheb.rdoc
126
+ - rdoc/tut.rdoc
127
+ - rdoc/fit.rdoc
128
+ - rdoc/math.rdoc
121
129
  - rdoc/intro.rdoc
130
+ - rdoc/linalg.rdoc
131
+ - rdoc/blas.rdoc
132
+ - rdoc/start.rdoc
133
+ - rdoc/hist3d.rdoc
122
134
  - rdoc/perm.rdoc
123
- - rdoc/wavelet.rdoc
124
- - rdoc/odeiv.rdoc
125
- - rdoc/vector.rdoc
126
135
  - rdoc/min.rdoc
127
- - rdoc/eigen.rdoc
128
- - rdoc/ehandling.rdoc
129
- - rdoc/ntuple.rdoc
130
- - rdoc/hist2d.rdoc
131
- - rdoc/blas.rdoc
132
- - rdoc/diff.rdoc
133
- - rdoc/sum.rdoc
134
- - rdoc/use.rdoc
135
- - tmp/i686-linux/stage/rdoc/linalg.rdoc
136
- - tmp/i686-linux/stage/rdoc/narray.rdoc
137
- - tmp/i686-linux/stage/rdoc/multiroot.rdoc
138
- - tmp/i686-linux/stage/rdoc/function.rdoc
139
- - tmp/i686-linux/stage/rdoc/ref.rdoc
140
- - tmp/i686-linux/stage/rdoc/stats.rdoc
141
- - tmp/i686-linux/stage/rdoc/hist3d.rdoc
142
- - tmp/i686-linux/stage/rdoc/sf.rdoc
143
- - tmp/i686-linux/stage/rdoc/monte.rdoc
144
- - tmp/i686-linux/stage/rdoc/tut.rdoc
145
- - tmp/i686-linux/stage/rdoc/bspline.rdoc
146
- - tmp/i686-linux/stage/rdoc/integration.rdoc
147
- - tmp/i686-linux/stage/rdoc/multimin.rdoc
148
- - tmp/i686-linux/stage/rdoc/complex.rdoc
149
- - tmp/i686-linux/stage/rdoc/combi.rdoc
150
- - tmp/i686-linux/stage/rdoc/changes.rdoc
151
- - tmp/i686-linux/stage/rdoc/sort.rdoc
152
- - tmp/i686-linux/stage/rdoc/interp.rdoc
153
- - tmp/i686-linux/stage/rdoc/randist.rdoc
154
- - tmp/i686-linux/stage/rdoc/roots.rdoc
155
- - tmp/i686-linux/stage/rdoc/vector_complex.rdoc
156
- - tmp/i686-linux/stage/rdoc/math.rdoc
157
- - tmp/i686-linux/stage/rdoc/siman.rdoc
158
- - tmp/i686-linux/stage/rdoc/alf.rdoc
159
- - tmp/i686-linux/stage/rdoc/graph.rdoc
160
- - tmp/i686-linux/stage/rdoc/poly.rdoc
161
- - tmp/i686-linux/stage/rdoc/hist.rdoc
162
- - tmp/i686-linux/stage/rdoc/cholesky_complex.rdoc
163
- - tmp/i686-linux/stage/rdoc/fft.rdoc
164
- - tmp/i686-linux/stage/rdoc/rng.rdoc
165
- - tmp/i686-linux/stage/rdoc/nonlinearfit.rdoc
166
- - tmp/i686-linux/stage/rdoc/const.rdoc
167
- - tmp/i686-linux/stage/rdoc/qrng.rdoc
168
- - tmp/i686-linux/stage/rdoc/ndlinear.rdoc
169
- - tmp/i686-linux/stage/rdoc/linalg_complex.rdoc
170
- - tmp/i686-linux/stage/rdoc/tensor.rdoc
171
- - tmp/i686-linux/stage/rdoc/matrix.rdoc
172
- - tmp/i686-linux/stage/rdoc/fit.rdoc
173
- - tmp/i686-linux/stage/rdoc/start.rdoc
174
- - tmp/i686-linux/stage/rdoc/dht.rdoc
175
- - tmp/i686-linux/stage/rdoc/nmatrix.rdoc
176
- - tmp/i686-linux/stage/rdoc/cheb.rdoc
177
- - tmp/i686-linux/stage/rdoc/intro.rdoc
178
- - tmp/i686-linux/stage/rdoc/perm.rdoc
179
- - tmp/i686-linux/stage/rdoc/wavelet.rdoc
180
- - tmp/i686-linux/stage/rdoc/odeiv.rdoc
181
- - tmp/i686-linux/stage/rdoc/vector.rdoc
182
- - tmp/i686-linux/stage/rdoc/min.rdoc
183
- - tmp/i686-linux/stage/rdoc/eigen.rdoc
184
- - tmp/i686-linux/stage/rdoc/ehandling.rdoc
185
- - tmp/i686-linux/stage/rdoc/ntuple.rdoc
186
- - tmp/i686-linux/stage/rdoc/hist2d.rdoc
187
- - tmp/i686-linux/stage/rdoc/blas.rdoc
188
- - tmp/i686-linux/stage/rdoc/diff.rdoc
189
- - tmp/i686-linux/stage/rdoc/sum.rdoc
190
- - tmp/i686-linux/stage/rdoc/use.rdoc
136
+ - tmp/x86_64-linux/stage/rdoc/interp2d.rdoc
137
+ - tmp/x86_64-linux/stage/rdoc/ehandling.rdoc
138
+ - tmp/x86_64-linux/stage/rdoc/integration.rdoc
139
+ - tmp/x86_64-linux/stage/rdoc/sort.rdoc
140
+ - tmp/x86_64-linux/stage/rdoc/multiroot.rdoc
141
+ - tmp/x86_64-linux/stage/rdoc/stats.rdoc
142
+ - tmp/x86_64-linux/stage/rdoc/bspline.rdoc
143
+ - tmp/x86_64-linux/stage/rdoc/hist.rdoc
144
+ - tmp/x86_64-linux/stage/rdoc/wavelet.rdoc
145
+ - tmp/x86_64-linux/stage/rdoc/function.rdoc
146
+ - tmp/x86_64-linux/stage/rdoc/use.rdoc
147
+ - tmp/x86_64-linux/stage/rdoc/const.rdoc
148
+ - tmp/x86_64-linux/stage/rdoc/interp.rdoc
149
+ - tmp/x86_64-linux/stage/rdoc/hist2d.rdoc
150
+ - tmp/x86_64-linux/stage/rdoc/vector.rdoc
151
+ - tmp/x86_64-linux/stage/rdoc/tensor.rdoc
152
+ - tmp/x86_64-linux/stage/rdoc/poly.rdoc
153
+ - tmp/x86_64-linux/stage/rdoc/linalg_complex.rdoc
154
+ - tmp/x86_64-linux/stage/rdoc/sum.rdoc
155
+ - tmp/x86_64-linux/stage/rdoc/siman.rdoc
156
+ - tmp/x86_64-linux/stage/rdoc/multimin.rdoc
157
+ - tmp/x86_64-linux/stage/rdoc/ntuple.rdoc
158
+ - tmp/x86_64-linux/stage/rdoc/changes.rdoc
159
+ - tmp/x86_64-linux/stage/rdoc/odeiv.rdoc
160
+ - tmp/x86_64-linux/stage/rdoc/nonlinearfit.rdoc
161
+ - tmp/x86_64-linux/stage/rdoc/ref.rdoc
162
+ - tmp/x86_64-linux/stage/rdoc/roots.rdoc
163
+ - tmp/x86_64-linux/stage/rdoc/ndlinear.rdoc
164
+ - tmp/x86_64-linux/stage/rdoc/randist.rdoc
165
+ - tmp/x86_64-linux/stage/rdoc/complex.rdoc
166
+ - tmp/x86_64-linux/stage/rdoc/fft.rdoc
167
+ - tmp/x86_64-linux/stage/rdoc/graph.rdoc
168
+ - tmp/x86_64-linux/stage/rdoc/vector_complex.rdoc
169
+ - tmp/x86_64-linux/stage/rdoc/nmatrix.rdoc
170
+ - tmp/x86_64-linux/stage/rdoc/narray.rdoc
171
+ - tmp/x86_64-linux/stage/rdoc/monte.rdoc
172
+ - tmp/x86_64-linux/stage/rdoc/rng.rdoc
173
+ - tmp/x86_64-linux/stage/rdoc/diff.rdoc
174
+ - tmp/x86_64-linux/stage/rdoc/eigen.rdoc
175
+ - tmp/x86_64-linux/stage/rdoc/sf.rdoc
176
+ - tmp/x86_64-linux/stage/rdoc/qrng.rdoc
177
+ - tmp/x86_64-linux/stage/rdoc/alf.rdoc
178
+ - tmp/x86_64-linux/stage/rdoc/combi.rdoc
179
+ - tmp/x86_64-linux/stage/rdoc/dht.rdoc
180
+ - tmp/x86_64-linux/stage/rdoc/matrix.rdoc
181
+ - tmp/x86_64-linux/stage/rdoc/cholesky_complex.rdoc
182
+ - tmp/x86_64-linux/stage/rdoc/cheb.rdoc
183
+ - tmp/x86_64-linux/stage/rdoc/tut.rdoc
184
+ - tmp/x86_64-linux/stage/rdoc/fit.rdoc
185
+ - tmp/x86_64-linux/stage/rdoc/math.rdoc
186
+ - tmp/x86_64-linux/stage/rdoc/intro.rdoc
187
+ - tmp/x86_64-linux/stage/rdoc/linalg.rdoc
188
+ - tmp/x86_64-linux/stage/rdoc/blas.rdoc
189
+ - tmp/x86_64-linux/stage/rdoc/start.rdoc
190
+ - tmp/x86_64-linux/stage/rdoc/hist3d.rdoc
191
+ - tmp/x86_64-linux/stage/rdoc/perm.rdoc
192
+ - tmp/x86_64-linux/stage/rdoc/min.rdoc
191
193
  files:
192
194
  - ".gitignore"
193
195
  - ".travis.yml"
@@ -603,6 +605,7 @@ files:
603
605
  - ext/gsl_native/include/rb_gsl_histogram3d.h
604
606
  - ext/gsl_native/include/rb_gsl_integration.h
605
607
  - ext/gsl_native/include/rb_gsl_interp.h
608
+ - ext/gsl_native/include/rb_gsl_interp2d.h
606
609
  - ext/gsl_native/include/rb_gsl_linalg.h
607
610
  - ext/gsl_native/include/rb_gsl_math.h
608
611
  - ext/gsl_native/include/rb_gsl_odeiv.h
@@ -619,6 +622,7 @@ files:
619
622
  - ext/gsl_native/include/templates_on.h
620
623
  - ext/gsl_native/integration.c
621
624
  - ext/gsl_native/interp.c
625
+ - ext/gsl_native/interp2d.c
622
626
  - ext/gsl_native/jacobi.c
623
627
  - ext/gsl_native/linalg.c
624
628
  - ext/gsl_native/linalg_complex.c
@@ -684,6 +688,7 @@ files:
684
688
  - ext/gsl_native/siman.c
685
689
  - ext/gsl_native/sort.c
686
690
  - ext/gsl_native/spline.c
691
+ - ext/gsl_native/spline2d.c
687
692
  - ext/gsl_native/stats.c
688
693
  - ext/gsl_native/sum.c
689
694
  - ext/gsl_native/tamu_anova.c
@@ -698,6 +703,7 @@ files:
698
703
  - gsl.gemspec
699
704
  - lib/gsl.rb
700
705
  - lib/gsl/gnuplot.rb
706
+ - lib/gsl/interp2d_fix.rb
701
707
  - lib/gsl/oper.rb
702
708
  - lib/gsl/version.rb
703
709
  - lib/ool.rb
@@ -725,6 +731,7 @@ files:
725
731
  - rdoc/hist3d.rdoc
726
732
  - rdoc/integration.rdoc
727
733
  - rdoc/interp.rdoc
734
+ - rdoc/interp2d.rdoc
728
735
  - rdoc/intro.rdoc
729
736
  - rdoc/linalg.rdoc
730
737
  - rdoc/linalg_complex.rdoc
@@ -776,6 +783,7 @@ files:
776
783
  - test/gsl/histo_test.rb
777
784
  - test/gsl/index_test.rb
778
785
  - test/gsl/integration_test.rb
786
+ - test/gsl/interp2d_test.rb
779
787
  - test/gsl/interp_test.rb
780
788
  - test/gsl/linalg_test.rb
781
789
  - test/gsl/matrix_nmf_test.rb
@@ -802,6 +810,7 @@ files:
802
810
  - test/gsl/rng_test.rb
803
811
  - test/gsl/roots_test.rb
804
812
  - test/gsl/sf_test.rb
813
+ - test/gsl/spline2d_test.rb
805
814
  - test/gsl/stats_test.rb
806
815
  - test/gsl/sum_test.rb
807
816
  - test/gsl/tensor_test.rb
@@ -809,62 +818,63 @@ files:
809
818
  - test/gsl/wavelet_test.rb
810
819
  - test/gsl_test.rb
811
820
  - test/test_helper.rb
812
- - tmp/i686-linux/stage/rdoc/alf.rdoc
813
- - tmp/i686-linux/stage/rdoc/blas.rdoc
814
- - tmp/i686-linux/stage/rdoc/bspline.rdoc
815
- - tmp/i686-linux/stage/rdoc/changes.rdoc
816
- - tmp/i686-linux/stage/rdoc/cheb.rdoc
817
- - tmp/i686-linux/stage/rdoc/cholesky_complex.rdoc
818
- - tmp/i686-linux/stage/rdoc/combi.rdoc
819
- - tmp/i686-linux/stage/rdoc/complex.rdoc
820
- - tmp/i686-linux/stage/rdoc/const.rdoc
821
- - tmp/i686-linux/stage/rdoc/dht.rdoc
822
- - tmp/i686-linux/stage/rdoc/diff.rdoc
823
- - tmp/i686-linux/stage/rdoc/ehandling.rdoc
824
- - tmp/i686-linux/stage/rdoc/eigen.rdoc
825
- - tmp/i686-linux/stage/rdoc/fft.rdoc
826
- - tmp/i686-linux/stage/rdoc/fit.rdoc
827
- - tmp/i686-linux/stage/rdoc/function.rdoc
828
- - tmp/i686-linux/stage/rdoc/graph.rdoc
829
- - tmp/i686-linux/stage/rdoc/hist.rdoc
830
- - tmp/i686-linux/stage/rdoc/hist2d.rdoc
831
- - tmp/i686-linux/stage/rdoc/hist3d.rdoc
832
- - tmp/i686-linux/stage/rdoc/integration.rdoc
833
- - tmp/i686-linux/stage/rdoc/interp.rdoc
834
- - tmp/i686-linux/stage/rdoc/intro.rdoc
835
- - tmp/i686-linux/stage/rdoc/linalg.rdoc
836
- - tmp/i686-linux/stage/rdoc/linalg_complex.rdoc
837
- - tmp/i686-linux/stage/rdoc/math.rdoc
838
- - tmp/i686-linux/stage/rdoc/matrix.rdoc
839
- - tmp/i686-linux/stage/rdoc/min.rdoc
840
- - tmp/i686-linux/stage/rdoc/monte.rdoc
841
- - tmp/i686-linux/stage/rdoc/multimin.rdoc
842
- - tmp/i686-linux/stage/rdoc/multiroot.rdoc
843
- - tmp/i686-linux/stage/rdoc/narray.rdoc
844
- - tmp/i686-linux/stage/rdoc/ndlinear.rdoc
845
- - tmp/i686-linux/stage/rdoc/nmatrix.rdoc
846
- - tmp/i686-linux/stage/rdoc/nonlinearfit.rdoc
847
- - tmp/i686-linux/stage/rdoc/ntuple.rdoc
848
- - tmp/i686-linux/stage/rdoc/odeiv.rdoc
849
- - tmp/i686-linux/stage/rdoc/perm.rdoc
850
- - tmp/i686-linux/stage/rdoc/poly.rdoc
851
- - tmp/i686-linux/stage/rdoc/qrng.rdoc
852
- - tmp/i686-linux/stage/rdoc/randist.rdoc
853
- - tmp/i686-linux/stage/rdoc/ref.rdoc
854
- - tmp/i686-linux/stage/rdoc/rng.rdoc
855
- - tmp/i686-linux/stage/rdoc/roots.rdoc
856
- - tmp/i686-linux/stage/rdoc/sf.rdoc
857
- - tmp/i686-linux/stage/rdoc/siman.rdoc
858
- - tmp/i686-linux/stage/rdoc/sort.rdoc
859
- - tmp/i686-linux/stage/rdoc/start.rdoc
860
- - tmp/i686-linux/stage/rdoc/stats.rdoc
861
- - tmp/i686-linux/stage/rdoc/sum.rdoc
862
- - tmp/i686-linux/stage/rdoc/tensor.rdoc
863
- - tmp/i686-linux/stage/rdoc/tut.rdoc
864
- - tmp/i686-linux/stage/rdoc/use.rdoc
865
- - tmp/i686-linux/stage/rdoc/vector.rdoc
866
- - tmp/i686-linux/stage/rdoc/vector_complex.rdoc
867
- - tmp/i686-linux/stage/rdoc/wavelet.rdoc
821
+ - tmp/x86_64-linux/stage/rdoc/alf.rdoc
822
+ - tmp/x86_64-linux/stage/rdoc/blas.rdoc
823
+ - tmp/x86_64-linux/stage/rdoc/bspline.rdoc
824
+ - tmp/x86_64-linux/stage/rdoc/changes.rdoc
825
+ - tmp/x86_64-linux/stage/rdoc/cheb.rdoc
826
+ - tmp/x86_64-linux/stage/rdoc/cholesky_complex.rdoc
827
+ - tmp/x86_64-linux/stage/rdoc/combi.rdoc
828
+ - tmp/x86_64-linux/stage/rdoc/complex.rdoc
829
+ - tmp/x86_64-linux/stage/rdoc/const.rdoc
830
+ - tmp/x86_64-linux/stage/rdoc/dht.rdoc
831
+ - tmp/x86_64-linux/stage/rdoc/diff.rdoc
832
+ - tmp/x86_64-linux/stage/rdoc/ehandling.rdoc
833
+ - tmp/x86_64-linux/stage/rdoc/eigen.rdoc
834
+ - tmp/x86_64-linux/stage/rdoc/fft.rdoc
835
+ - tmp/x86_64-linux/stage/rdoc/fit.rdoc
836
+ - tmp/x86_64-linux/stage/rdoc/function.rdoc
837
+ - tmp/x86_64-linux/stage/rdoc/graph.rdoc
838
+ - tmp/x86_64-linux/stage/rdoc/hist.rdoc
839
+ - tmp/x86_64-linux/stage/rdoc/hist2d.rdoc
840
+ - tmp/x86_64-linux/stage/rdoc/hist3d.rdoc
841
+ - tmp/x86_64-linux/stage/rdoc/integration.rdoc
842
+ - tmp/x86_64-linux/stage/rdoc/interp.rdoc
843
+ - tmp/x86_64-linux/stage/rdoc/interp2d.rdoc
844
+ - tmp/x86_64-linux/stage/rdoc/intro.rdoc
845
+ - tmp/x86_64-linux/stage/rdoc/linalg.rdoc
846
+ - tmp/x86_64-linux/stage/rdoc/linalg_complex.rdoc
847
+ - tmp/x86_64-linux/stage/rdoc/math.rdoc
848
+ - tmp/x86_64-linux/stage/rdoc/matrix.rdoc
849
+ - tmp/x86_64-linux/stage/rdoc/min.rdoc
850
+ - tmp/x86_64-linux/stage/rdoc/monte.rdoc
851
+ - tmp/x86_64-linux/stage/rdoc/multimin.rdoc
852
+ - tmp/x86_64-linux/stage/rdoc/multiroot.rdoc
853
+ - tmp/x86_64-linux/stage/rdoc/narray.rdoc
854
+ - tmp/x86_64-linux/stage/rdoc/ndlinear.rdoc
855
+ - tmp/x86_64-linux/stage/rdoc/nmatrix.rdoc
856
+ - tmp/x86_64-linux/stage/rdoc/nonlinearfit.rdoc
857
+ - tmp/x86_64-linux/stage/rdoc/ntuple.rdoc
858
+ - tmp/x86_64-linux/stage/rdoc/odeiv.rdoc
859
+ - tmp/x86_64-linux/stage/rdoc/perm.rdoc
860
+ - tmp/x86_64-linux/stage/rdoc/poly.rdoc
861
+ - tmp/x86_64-linux/stage/rdoc/qrng.rdoc
862
+ - tmp/x86_64-linux/stage/rdoc/randist.rdoc
863
+ - tmp/x86_64-linux/stage/rdoc/ref.rdoc
864
+ - tmp/x86_64-linux/stage/rdoc/rng.rdoc
865
+ - tmp/x86_64-linux/stage/rdoc/roots.rdoc
866
+ - tmp/x86_64-linux/stage/rdoc/sf.rdoc
867
+ - tmp/x86_64-linux/stage/rdoc/siman.rdoc
868
+ - tmp/x86_64-linux/stage/rdoc/sort.rdoc
869
+ - tmp/x86_64-linux/stage/rdoc/start.rdoc
870
+ - tmp/x86_64-linux/stage/rdoc/stats.rdoc
871
+ - tmp/x86_64-linux/stage/rdoc/sum.rdoc
872
+ - tmp/x86_64-linux/stage/rdoc/tensor.rdoc
873
+ - tmp/x86_64-linux/stage/rdoc/tut.rdoc
874
+ - tmp/x86_64-linux/stage/rdoc/use.rdoc
875
+ - tmp/x86_64-linux/stage/rdoc/vector.rdoc
876
+ - tmp/x86_64-linux/stage/rdoc/vector_complex.rdoc
877
+ - tmp/x86_64-linux/stage/rdoc/wavelet.rdoc
868
878
  - uncrustify.cfg
869
879
  homepage: http://github.com/SciRuby/rb-gsl
870
880
  licenses:
@@ -876,7 +886,7 @@ post_install_message: "\n gsl can be installed with or without narray support
876
886
  gsl.\n "
877
887
  rdoc_options:
878
888
  - "--title"
879
- - Ruby/GSL (2.1.0.1)
889
+ - Ruby/GSL (2.1.0.2)
880
890
  - "--charset"
881
891
  - UTF-8
882
892
  - "--line-numbers"
@@ -900,7 +910,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
900
910
  requirements:
901
911
  - GSL (http://www.gnu.org/software/gsl/)
902
912
  rubyforge_project:
903
- rubygems_version: 2.5.1
913
+ rubygems_version: 2.5.2
904
914
  signing_key:
905
915
  specification_version: 4
906
916
  summary: Ruby interface to the GNU Scientific Library