gsl 2.1.0.1 → 2.1.0.2

Sign up to get free protection for your applications and to get access to all the features.
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