numo-gsl 0.1.1 → 0.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9d7a58639de031c2ddc3a66dabed61e16f7fe3a0706f3a63c6f03835227b8b90
4
- data.tar.gz: 938277bb7ba73c1d1be46ff4e56c6dc7621242a90c475d296f6d901a8d5ac7b0
3
+ metadata.gz: 57aae3f13a5e45e96d060e1092058a13b5aa8ea30df9b3361f50cf160a185881
4
+ data.tar.gz: 2b10a1950aac4d4f5a4f099390dd6da64a81de3fac07123ecd11a537f845d273
5
5
  SHA512:
6
- metadata.gz: de838300463db0b64b2c97f92eadbe5dcd88a6d98e9bf480408d6c9e10c6dbc0818cdf15e1bd3980f120b07baabf80827c2c43cf43627b8f5e1ae2ab2fa47f75
7
- data.tar.gz: 39dcfe4368eff26269098c13277d7202ca318ee8b2b1e7df0e16f67efd1d86c11f46eddd29191c64dec9f3007ceccfef377164ae30d838bfc9cd9c865a87ede0
6
+ metadata.gz: 4640ed8f66dc2246fcde5150248af76cfcd2cba0348d06fbb965e751ee76031c71e8b0dd0d6be27950d5b5a309b1a8934c68a1a8a6b75b8ff486d1a2a15afe83
7
+ data.tar.gz: c4132a770d6ed96ae2eb3e01eac40eace81baa81b7f30144217c1d52ed191b18d3553622da99d07409575b50fd961d25aacbc3122b2e2b25d23feff951da1d33
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # GSL interface for Ruby with Numo::NArray
2
2
 
3
- [GitHub](https://github.com/ruby-numo/gsl) |
3
+ [GitHub](https://github.com/ruby-numo/numo-gsl) |
4
4
  [RubyGems](https://rubygems.org/gems/numo-gsl)
5
5
 
6
6
  * [GSL - GNU Scientific Library](http://www.gnu.org/software/gsl/) - version >=2.0 and <=2.3.
@@ -72,7 +72,7 @@ $ gem install numo-gsl
72
72
  If you're familiar with Docker, the following commands should work in most cases:
73
73
 
74
74
  ```
75
- git clone https://github.com/ruby-numo/gsl
75
+ git clone https://github.com/ruby-numo/numo-gsl
76
76
  cd gsl
77
77
  docker build -t numogsl .
78
78
  docker run -d -p 8888:8888 numogsl start-notebook.sh --NotebookApp.token=''
@@ -1,5 +1,4 @@
1
1
  require_relative "../gen/erbpp_gsl"
2
- require "erbpp/line_number"
3
2
 
4
3
  cdf_methods = ErbppGsl.read_func.select do |h|
5
4
  h[:func_name] =~ /^gsl_cdf_(\w+)$/ &&
@@ -21,6 +20,7 @@ class DefCdf < DefGslModule
21
20
  end
22
21
 
23
22
  DefLib.new do
23
+ set line_number: true
24
24
  set erb_dir: "../gen/tmpl"
25
25
  set erb_suffix: ".c"
26
26
 
@@ -1,11 +1,9 @@
1
- require_relative "../gen/erbpp2"
2
1
  require_relative "../gen/erbpp_gsl"
3
- require "erbpp/line_number"
4
-
5
2
 
6
3
  const_list = ErbppGsl.read_const
7
4
 
8
5
  DefLib.new do
6
+ set line_number: true
9
7
  set erb_dir: %w[tmpl ../gen/tmpl]
10
8
  set erb_suffix: ".c"
11
9
 
@@ -1,6 +1,7 @@
1
1
  require 'rbconfig.rb'
2
2
  require 'numo/narray'
3
3
  require 'mkmf'
4
+ require_relative './mkmf_gsl'
4
5
 
5
6
  # configure options: --with-gsl-lib=path
6
7
  #dir_config("gsl")
@@ -8,7 +9,8 @@ require 'mkmf'
8
9
  # check gsl-config command
9
10
  print "checking for gsl-config... "
10
11
  begin
11
- gsl_libs = `gsl-config --libs`
12
+ # MinGW fails to invoke shell script command (gsl-config)
13
+ gsl_libs = `sh -c '\`which gsl-config\` --libs'`.chomp
12
14
  rescue
13
15
  puts "no"
14
16
  exit 1
@@ -32,13 +34,22 @@ libs.each do |x|
32
34
  end
33
35
 
34
36
  # GSL include files
35
- $INCFLAGS = [`gsl-config --cflags`.chomp,$INCFLAGS].join(" ")
37
+ gsl_cflags = `sh -c '\`which gsl-config\` --cflags'`.chomp
38
+ $INCFLAGS = [gsl_cflags,$INCFLAGS].join(" ")
36
39
 
37
40
  # check narray.h
38
- $LOAD_PATH.each do |x|
39
- if File.exist? File.join(x,'numo','numo/narray.h')
40
- $INCFLAGS = "-I#{x}/numo " + $INCFLAGS
41
- break
41
+ find_narray_h
42
+ if !have_header("numo/narray.h")
43
+ puts "Header numo/narray.h was not found. Give pathname as follows:
44
+ % ruby extconf.rb --with-narray-include=narray_h_dir"
45
+ exit(1)
46
+ end
47
+
48
+ # check libnarray.a
49
+ if RUBY_PLATFORM =~ /mswin|cygwin|mingw/
50
+ find_libnarray_a
51
+ unless have_library("narray","nary_new")
52
+ puts "libnarray.a not found"
53
+ exit(1)
42
54
  end
43
55
  end
44
- exit 1 unless have_header('numo/narray.h')
@@ -1,6 +1,4 @@
1
- require_relative "../gen/func_parser"
2
1
  require_relative "../gen/erbpp_gsl"
3
- require "erbpp/line_number"
4
2
 
5
3
  fit_list = ErbppGsl.read_func
6
4
 
@@ -51,6 +49,7 @@ class Fit < DefModuleFunction
51
49
  end
52
50
 
53
51
  DefLib.new do
52
+ set line_number: true
54
53
  set erb_dir: %w[tmpl ../gen/tmpl]
55
54
  set erb_suffix: ".c"
56
55
  set ns_var: "mG"
@@ -0,0 +1,132 @@
1
+ require 'erb'
2
+
3
+ class ErbPP
4
+
5
+ class CountLnString < String
6
+
7
+ def initialize(filename)
8
+ @filename = filename
9
+ @lnchar = "\n"
10
+ @buf = ""
11
+ @str = ""
12
+ @countln = 1
13
+ @current = 1
14
+ super("\n"+report_line)
15
+ end
16
+
17
+ def report_line
18
+ "#line #{@current} \"#{@filename}\"\n"
19
+ end
20
+
21
+ def concat0(s)
22
+ ln(caller[0])
23
+ @buf.concat(s)
24
+ @str.concat(s)
25
+ end
26
+
27
+ def concat1(s)
28
+ ln(caller[0])
29
+ @buf.concat(s)
30
+ end
31
+
32
+ def ln(status=nil)
33
+ case status
34
+ when /:(\d+):/
35
+ n = $1.to_i
36
+ else
37
+ n = status.to_i
38
+ end
39
+ return if n == @current
40
+ if @current != @countln || @postpone
41
+ if /\A\s*\z/ =~ @str || /\A#line / =~ @buf
42
+ @postpone = true
43
+ elsif @in_comment
44
+ @postpone = false
45
+ else
46
+ if self[-1] != "\n"
47
+ concat("\n")
48
+ end
49
+ concat(report_line)
50
+ @postpone = false
51
+ end
52
+ end
53
+ concat(@buf)
54
+
55
+ b = @buf.gsub(/".*?(?<!\\)"/,'""')
56
+ /^.*(\/\*)(.*?)$/ =~ b
57
+ x = $2
58
+ /^.*(\*\/)(.*?)$/ =~ b
59
+ y = $2
60
+ if x
61
+ if y
62
+ if x.size < y.size
63
+ #:in_comment
64
+ @in_comment = true
65
+ else
66
+ #:out_comment
67
+ @in_comment = false
68
+ end
69
+ else
70
+ #:in_comment
71
+ @in_comment = true
72
+ end
73
+ else
74
+ if y
75
+ #:out_comment
76
+ @in_comment = false
77
+ else
78
+ #:keep
79
+ end
80
+ end
81
+
82
+ @countln = @current + @buf.count(@lnchar)
83
+ @current = n
84
+ @buf = ""
85
+ @str = ""
86
+ end
87
+
88
+ def d(s)
89
+ p [s, [x,y], r]
90
+ r
91
+ end
92
+
93
+ def final
94
+ ln(caller[0])
95
+ concat(@buf)
96
+ end
97
+
98
+ end
99
+
100
+ class ERBLN
101
+
102
+ def initialize(str, filename, trim_mode=nil, eoutvar='_erbout')
103
+ @filename = filename
104
+ compiler = ERB::Compiler.new(trim_mode)
105
+ set_eoutvar(compiler, eoutvar)
106
+ @src, @enc = *compiler.compile(str)
107
+ end
108
+
109
+ def set_eoutvar(compiler, eoutvar = '_erbout')
110
+ compiler.put_cmd = "#{eoutvar}.concat0"
111
+ compiler.insert_cmd = "#{eoutvar}.concat1"
112
+ compiler.pre_cmd = ["#{eoutvar} = CountLnString.new(#{@filename.inspect})"]
113
+ compiler.post_cmd = ["#{eoutvar}.final"]
114
+ end
115
+
116
+ def run(b)
117
+ print self.result(b)
118
+ end
119
+
120
+ def result(b)
121
+ #open("tmpout","a") do |f|
122
+ # f.puts "\n#file:#{@filename}"
123
+ # f.puts @src
124
+ #end
125
+ eval(@src, b, (@filename || '(erb)'), 0)
126
+ end
127
+
128
+ #require "fileutils"
129
+ #FileUtils.rm_f("tmpout")
130
+ end
131
+
132
+ end
@@ -1,4 +1,5 @@
1
1
  require "erb"
2
+ require_relative "erbln"
2
3
 
3
4
  class ErbPP
4
5
 
@@ -66,8 +67,12 @@ class ErbPP
66
67
  Dir.glob(x).each do |dir|
67
68
  path = File.join(dir,file)
68
69
  if File.exist?(path)
69
- erb = ERB.new(File.read(path), safe_level, trim_mode)
70
- erb.filename = path
70
+ if get(:line_number)
71
+ erb = ERBLN.new(File.read(path), path, trim_mode)
72
+ else
73
+ erb = ERB.new(File.read(path), safe_level, trim_mode)
74
+ erb.filename = path
75
+ end
71
76
  return erb
72
77
  end
73
78
  end
@@ -109,6 +114,7 @@ end
109
114
  class DefLib < ErbPP
110
115
  def initialize(parent=nil, **opts, &block)
111
116
  opts[:erb_base] ||= 'lib'
117
+ opts[:include_files] ||= []
112
118
  super(parent, **opts, &block)
113
119
  end
114
120
  def id_assign
@@ -139,9 +145,15 @@ module DeclMethod
139
145
  def def_method(m, erb_path=nil, **opts, &block)
140
146
  DefMethod.new(self, erb_path||m, name:m, **opts, &block)
141
147
  end
148
+ def undef_method(m)
149
+ UndefMethod.new(self,name:m)
150
+ end
142
151
  def def_singleton_method(m, erb_path=nil, **opts, &block)
143
152
  DefMethod.new(self, erb_path||m, name:m, singleton:true, **opts, &block)
144
153
  end
154
+ def undef_singleton_method(m)
155
+ UndefSingletonMethod.new(self,name:m)
156
+ end
145
157
  def def_module_function(m, erb_path=nil, **opts, &block)
146
158
  DefModuleFunction.new(self, erb_path||m, name:m, **opts, &block)
147
159
  end
@@ -216,7 +228,7 @@ class DefMethod < ErbPP
216
228
  end
217
229
 
218
230
  def c_name
219
- @opts[:name].gsub(/\?/,"_p").gsub(/\!/,"_bang")
231
+ @opts[:name].gsub(/\?/,"_p").gsub(/\!/,"_bang").gsub(/=/,"_set")
220
232
  end
221
233
 
222
234
  def op_map
@@ -278,6 +290,18 @@ class UndefAllocFunc < ErbPP
278
290
  end
279
291
  end
280
292
 
293
+ class UndefMethod < ErbPP
294
+ def init_def
295
+ "rb_undef_method(#{_mod_var},\"#{name}\");"
296
+ end
297
+ end
298
+
299
+ class UndefSingletonMethod < ErbPP
300
+ def init_def
301
+ "rb_undef_method(rb_singleton_class(#{_mod_var}),\"#{name}\");"
302
+ end
303
+ end
304
+
281
305
  class DefConst < ErbPP
282
306
  def init_def
283
307
  "/*#{desc}*/
@@ -285,6 +309,20 @@ class DefConst < ErbPP
285
309
  end
286
310
  end
287
311
 
312
+ class DefError < ErbPP
313
+ def initialize(parent, name, sup_var, **opts, &block)
314
+ super(parent, error_name:name, error_var:"e"+name, super_var:sup_var,
315
+ **opts, &block)
316
+ end
317
+ def result
318
+ "static VALUE #{error_var};"
319
+ end
320
+ def init_def
321
+ "/*#{description}*/
322
+ #{error_var} = rb_define_class_under(#{ns_var},\"#{error_name}\",#{super_var});"
323
+ end
324
+ end
325
+
288
326
  class DefStruct < ErbPP
289
327
  def method_code
290
328
  "static VALUE #{class_var};"
@@ -1,3 +1,5 @@
1
+ require_relative "erbpp2"
2
+ require_relative "erbln"
1
3
  require_relative "func_parser"
2
4
 
3
5
  module ErbppGsl
@@ -23,7 +25,9 @@ module ErbppGsl
23
25
 
24
26
  def read_eval(prefix)
25
27
  fmt = prefix + "_%s.rb"
26
- fn = fmt % `gsl-config --version`.chomp
28
+ # MinGW fails to invoke shell script command (gsl-config)
29
+ cmd = "sh -c '`which gsl-config` --version'"
30
+ fn = fmt % `#{cmd}`.chomp
27
31
  if !File.exist?(fn)
28
32
  fn = fmt % "def"
29
33
  end
@@ -1,5 +1,3 @@
1
- require_relative "erbpp2"
2
-
3
1
  class Argument
4
2
 
5
3
  def description
@@ -1,5 +1,4 @@
1
1
  require_relative "../gen/erbpp_gsl"
2
- require "erbpp/line_number"
3
2
 
4
3
  hist_list =
5
4
  [
@@ -77,6 +76,7 @@ class DefHistogram < DefGslClass
77
76
  end
78
77
 
79
78
  DefLib.new do
79
+ set line_number: true
80
80
  set erb_dir: %w[tmpl ../gen/tmpl]
81
81
  set erb_suffix: ".c"
82
82
  set ns_var: "mG"
@@ -1,5 +1,5 @@
1
+ require_relative "../gen/erbpp_gsl"
1
2
  require_relative "parse_interp"
2
- require "erbpp/line_number"
3
3
 
4
4
  gsl_list = ErbppGsl.read_func_pattern(
5
5
  [/^gsl_interp_accel_(\w+)$/, interp_accel_list=[]],
@@ -20,6 +20,7 @@ gsl_list.each do |h|
20
20
  end
21
21
 
22
22
  DefLib.new do
23
+ set line_number: true
23
24
  set erb_dir: %w[tmpl ../gen/tmpl]
24
25
  set erb_suffix: ".c"
25
26
  set ns_var: "mG"
@@ -0,0 +1,33 @@
1
+ require 'mkmf'
2
+
3
+ def find_narray_h
4
+ $LOAD_PATH.each do |x|
5
+ if File.exist? File.join(x,'numo/numo/narray.h')
6
+ $INCFLAGS = "-I#{x}/numo " + $INCFLAGS
7
+ break
8
+ end
9
+ end
10
+ end
11
+
12
+ def find_libnarray_a
13
+ $LOAD_PATH.each do |x|
14
+ if File.exist? File.join(x,'numo/libnarray.a')
15
+ $LDFLAGS = "-L#{x}/numo " + $LDFLAGS
16
+ break
17
+ end
18
+ end
19
+ end
20
+
21
+ def create_depend
22
+ require 'erb'
23
+ message "creating depend\n"
24
+ dep_path = File.join(Dir.pwd, "depend")
25
+ File.open(dep_path, "w") do |dep|
26
+ dep_erb_path = File.join(Dir.pwd, "depend.erb")
27
+ File.open(dep_erb_path, "r") do |dep_erb|
28
+ erb = ERB.new(dep_erb.read)
29
+ erb.filename = dep_erb_path
30
+ dep.print(erb.result)
31
+ end
32
+ end
33
+ end
@@ -1,5 +1,4 @@
1
1
  require_relative "../gen/erbpp_gsl"
2
- require "erbpp/line_number"
3
2
  require "pp"
4
3
 
5
4
  ErbppGsl.read_func_pattern(
@@ -50,6 +49,7 @@ end
50
49
 
51
50
 
52
51
  DefLib.new do
52
+ set line_number: true
53
53
  set erb_dir: %w[tmpl ../gen/tmpl]
54
54
  set erb_suffix: ".c"
55
55
 
@@ -81,7 +81,7 @@
81
81
  gvec = ALLOCA_N(gsl_vector,1); \
82
82
  gvec->data = (double*)NDL_PTR(lp,i); \
83
83
  gvec->size = (lp)->args[i].shape[0]; \
84
- gvec->stride = NDL_STP(lp,i)/sizeof(double); \
84
+ gvec->stride = NDL_SETP(lp,i)/sizeof(double); \
85
85
  gvec->block = 0; \
86
86
  gvec->owner = 0; \
87
87
  }
@@ -102,7 +102,7 @@
102
102
  assert((lp)->args[i].ndim == 1); \
103
103
  gvec.data = (double*)NDL_PTR(lp,i); \
104
104
  gvec.size = (lp)->args[i].shape[0]; \
105
- gvec.stride = NDL_STP(lp,i)/sizeof(double); \
105
+ gvec.stride = NDL_STEP(lp,i)/sizeof(double); \
106
106
  gvec.block = 0; \
107
107
  gvec.owner = 0; \
108
108
  }
@@ -1,7 +1,8 @@
1
+ require_relative "../gen/erbpp_gsl"
1
2
  require_relative "parse_pdf"
2
- require "erbpp/line_number"
3
3
 
4
4
  DefLib.new do
5
+ set line_number: true
5
6
  set erb_dir: %w[tmpl ../gen/tmpl]
6
7
  set erb_suffix: ".c"
7
8
  set ns_var: "mG"
@@ -1,5 +1,4 @@
1
1
  require_relative "../gen/erbpp_gsl"
2
- require "erbpp/line_number"
3
2
 
4
3
  func_list = ErbppGsl.read_func
5
4
  ErbppGsl.read_func_pattern(
@@ -28,6 +27,7 @@ class DefPoly < DefGslModule
28
27
  end
29
28
 
30
29
  DefLib.new(nil) do
30
+ set line_number: true
31
31
  set erb_dir: %w[tmpl ../gen/tmpl]
32
32
  set erb_suffix: ".c"
33
33
  set ns_var: "mG"
@@ -1,5 +1,5 @@
1
+ require_relative "../gen/erbpp_gsl"
1
2
  require_relative "parse_ran"
2
- require "erbpp/line_number"
3
3
 
4
4
  ErbppGsl.read_func_pattern(
5
5
  [ /^gsl_ran_discrete_(\w+)$/, disc_list=[]],
@@ -7,6 +7,7 @@ ErbppGsl.read_func_pattern(
7
7
  )
8
8
 
9
9
  DefLib.new do
10
+ set line_number: true
10
11
  set erb_dir: %w[tmpl ../gen/tmpl]
11
12
  set erb_suffix: ".c"
12
13
  set ns_var: "mG"
@@ -1,5 +1,5 @@
1
+ require_relative "../gen/erbpp_gsl"
1
2
  require_relative "parse_rng"
2
- require "erbpp/line_number"
3
3
 
4
4
  ErbppGsl.read_func_pattern(
5
5
  [/gsl_rng_/, rng_list=[]],
@@ -10,6 +10,7 @@ ran_list = ErbppGsl.read_func("../ran/func").select{|h|
10
10
  }
11
11
 
12
12
  DefLib.new do
13
+ set line_number: true
13
14
  set erb_dir: %w[tmpl ../gen/tmpl]
14
15
  set erb_suffix: ".c"
15
16
  set ns_var: "mG"
@@ -1,5 +1,4 @@
1
1
  require_relative "../gen/erbpp_gsl"
2
- require "erbpp/line_number"
3
2
 
4
3
  ErbppGsl.read_func_pattern(
5
4
  [/^gsl_rstat_quantile_(\w+)$/,rquantile_list=[]],
@@ -22,6 +21,7 @@ class DefRstat < DefGslClass
22
21
  end
23
22
 
24
23
  DefLib.new do
24
+ set line_number: true
25
25
  set erb_dir: %w[tmpl ../gen/tmpl]
26
26
  set erb_suffix: ".c"
27
27
 
@@ -1,6 +1,5 @@
1
+ require_relative "../gen/erbpp_gsl"
1
2
  require_relative "parse_sf"
2
- require "erbpp/line_number"
3
-
4
3
 
5
4
  ErbppGsl.read_func_pattern(
6
5
  [/gsl_sf_mathieu_(\w+_array|alloc|free)$/, mathieu_list=[]],
@@ -8,6 +7,7 @@ ErbppGsl.read_func_pattern(
8
7
  )
9
8
 
10
9
  DefLib.new do
10
+ set line_number: true
11
11
  set erb_dir: %w[tmpl ../gen/tmpl]
12
12
  set erb_suffix: ".c"
13
13
  set ns_var: "mG"
@@ -1,5 +1,5 @@
1
+ require_relative "../gen/erbpp_gsl"
1
2
  require_relative "parse_spmatrix"
2
- require "erbpp/line_number"
3
3
 
4
4
  class_list = [
5
5
  ["SpMatrix","spmatrix",[]],
@@ -13,6 +13,7 @@ ErbppGsl.read_func_pattern(*class_list.map{|name,base|
13
13
  const_list = ErbppGsl.read_const
14
14
 
15
15
  DefLib.new do
16
+ set line_number: true
16
17
  set erb_dir: %w[tmpl ../gen/tmpl]
17
18
  set erb_suffix: ".c"
18
19
  set ns_var: "mG"
@@ -1,11 +1,12 @@
1
+ require_relative "../gen/erbpp_gsl"
1
2
  require_relative "parse_stats"
2
- require "erbpp/line_number"
3
3
 
4
4
  ErbppGsl.read_func_pattern(
5
5
  [/^gsl_stats_(\w+)$/, stats_list=[]]
6
6
  )
7
7
 
8
8
  DefLib.new(nil) do
9
+ set line_number: true
9
10
  set erb_dir: %w[tmpl ../gen/tmpl]
10
11
  set erb_suffix: ".c"
11
12
  set ns_var: "mG"
@@ -1,5 +1,4 @@
1
1
  require_relative "../gen/erbpp_gsl"
2
- require "erbpp/line_number"
3
2
 
4
3
  func_list = ErbppGsl.read_func
5
4
  const_list = ErbppGsl.read_const
@@ -26,6 +25,7 @@ class DefSys < DefGslModule
26
25
  end
27
26
 
28
27
  DefLib.new do
28
+ set line_number: true
29
29
  set erb_dir: %w[tmpl ../gen/tmpl]
30
30
  set erb_suffix: ".c"
31
31
 
@@ -1 +1 @@
1
- #define NUMO_GSL_VERSION "0.1.1"
1
+ #define NUMO_GSL_VERSION "0.1.2"
@@ -1,6 +1,5 @@
1
- require_relative "parse_wavelet"
2
1
  require_relative "../gen/erbpp_gsl"
3
- require "erbpp/line_number"
2
+ require_relative "parse_wavelet"
4
3
 
5
4
 
6
5
  gsl_list = ErbppGsl.read_func
@@ -16,6 +15,7 @@ ErbppGsl.read_func_pattern(
16
15
  list_2d << list_1d.find{|h| h[:func_name]=="gsl_wavelet_alloc"}
17
16
 
18
17
  DefLib.new do
18
+ set line_number: true
19
19
  set erb_dir: %w[tmpl ../gen/tmpl]
20
20
  set erb_suffix: ".c"
21
21
  set ns_var: "mG"
data/numo-gsl.gemspec CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.email = ["masa16.tanaka@gmail.com"]
20
20
  spec.description = %q{Numo::GSL development version.}
21
21
  spec.summary = %q{Numo::GSL development version}
22
- spec.homepage = "https://github.com/ruby-numo/gsl"
22
+ spec.homepage = "https://github.com/ruby-numo/numo-gsl"
23
23
  spec.license = "GPL-3"
24
24
 
25
25
  spec.files = `git ls-files Gemfile README.md Rakefile ext lib numo-gsl.gemspec spec`.split($/)
@@ -29,5 +29,5 @@ Gem::Specification.new do |spec|
29
29
  spec.extensions = spec.files.grep(%r{^ext/numo/gsl/.*/extconf\.rb$})
30
30
  spec.add_development_dependency "bundler", "~> 1.3"
31
31
  spec.add_development_dependency "rake", "~> 0"
32
- spec.add_runtime_dependency "numo-narray", "~> 0.9.0"
32
+ spec.add_runtime_dependency "numo-narray", ">= 0.9.0.8"
33
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: numo-gsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masahiro TANAKA
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-28 00:00:00.000000000 Z
11
+ date: 2018-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: numo-narray
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 0.9.0
47
+ version: 0.9.0.8
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 0.9.0
54
+ version: 0.9.0.8
55
55
  description: Numo::GSL development version.
56
56
  email:
57
57
  - masa16.tanaka@gmail.com
@@ -102,6 +102,7 @@ files:
102
102
  - ext/numo/gsl/fit/tmpl/fit_mul_est.c
103
103
  - ext/numo/gsl/fit/tmpl/fit_wlinear.c
104
104
  - ext/numo/gsl/fit/tmpl/fit_wmul.c
105
+ - ext/numo/gsl/gen/erbln.rb
105
106
  - ext/numo/gsl/gen/erbpp2.rb
106
107
  - ext/numo/gsl/gen/erbpp_gsl.rb
107
108
  - ext/numo/gsl/gen/func_parser.rb
@@ -206,6 +207,7 @@ files:
206
207
  - ext/numo/gsl/interp/tmpl/spline_eval.c
207
208
  - ext/numo/gsl/interp/tmpl/spline_integ.c
208
209
  - ext/numo/gsl/interp/type_def.rb
210
+ - ext/numo/gsl/mkmf_gsl.rb
209
211
  - ext/numo/gsl/multifit/depend
210
212
  - ext/numo/gsl/multifit/erbpp_multifit.rb
211
213
  - ext/numo/gsl/multifit/extconf.rb
@@ -340,7 +342,7 @@ files:
340
342
  - ext/numo/gsl/wavelet/type_def.rb
341
343
  - lib/numo/gsl.rb
342
344
  - numo-gsl.gemspec
343
- homepage: https://github.com/ruby-numo/gsl
345
+ homepage: https://github.com/ruby-numo/numo-gsl
344
346
  licenses:
345
347
  - GPL-3
346
348
  metadata: {}