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 +4 -4
- data/README.md +2 -2
- data/ext/numo/gsl/cdf/erbpp_cdf.rb +1 -1
- data/ext/numo/gsl/const/erbpp_const.rb +1 -3
- data/ext/numo/gsl/extconf_gsl.rb +18 -7
- data/ext/numo/gsl/fit/erbpp_fit.rb +1 -2
- data/ext/numo/gsl/gen/erbln.rb +132 -0
- data/ext/numo/gsl/gen/erbpp2.rb +41 -3
- data/ext/numo/gsl/gen/erbpp_gsl.rb +5 -1
- data/ext/numo/gsl/gen/func_parser.rb +0 -2
- data/ext/numo/gsl/histogram/erbpp_histogram.rb +1 -1
- data/ext/numo/gsl/interp/erbpp_interp.rb +2 -1
- data/ext/numo/gsl/mkmf_gsl.rb +33 -0
- data/ext/numo/gsl/multifit/erbpp_multifit.rb +1 -1
- data/ext/numo/gsl/numo_gsl.h +2 -2
- data/ext/numo/gsl/pdf/erbpp_pdf.rb +2 -1
- data/ext/numo/gsl/poly/erbpp_poly.rb +1 -1
- data/ext/numo/gsl/ran/erbpp_ran.rb +2 -1
- data/ext/numo/gsl/rng/erbpp_rng.rb +2 -1
- data/ext/numo/gsl/rstat/erbpp_rstat.rb +1 -1
- data/ext/numo/gsl/sf/erbpp_sf.rb +2 -2
- data/ext/numo/gsl/spmatrix/erbpp_spmatrix.rb +2 -1
- data/ext/numo/gsl/stats/erbpp_stats.rb +2 -1
- data/ext/numo/gsl/sys/erbpp_sys.rb +1 -1
- data/ext/numo/gsl/version.h +1 -1
- data/ext/numo/gsl/wavelet/erbpp_wavelet.rb +2 -2
- data/numo-gsl.gemspec +2 -2
- metadata +9 -7
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 57aae3f13a5e45e96d060e1092058a13b5aa8ea30df9b3361f50cf160a185881
         | 
| 4 | 
            +
              data.tar.gz: 2b10a1950aac4d4f5a4f099390dd6da64a81de3fac07123ecd11a537f845d273
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 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 |  | 
    
        data/ext/numo/gsl/extconf_gsl.rb
    CHANGED
    
    | @@ -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 | 
            -
               | 
| 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 | 
            -
             | 
| 37 | 
            +
            gsl_cflags = `sh -c '\`which gsl-config\` --cflags'`.chomp
         | 
| 38 | 
            +
            $INCFLAGS = [gsl_cflags,$INCFLAGS].join(" ")
         | 
| 36 39 |  | 
| 37 40 | 
             
            # check narray.h
         | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 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
         | 
    
        data/ext/numo/gsl/gen/erbpp2.rb
    CHANGED
    
    | @@ -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 | 
            -
                       | 
| 70 | 
            -
             | 
| 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 | 
            -
                 | 
| 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,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
         | 
    
        data/ext/numo/gsl/numo_gsl.h
    CHANGED
    
    | @@ -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 =  | 
| 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 =  | 
| 105 | 
            +
                    gvec.stride = NDL_STEP(lp,i)/sizeof(double);    \
         | 
| 106 106 | 
             
                    gvec.block  = 0;                                \
         | 
| 107 107 | 
             
                    gvec.owner  = 0;                                \
         | 
| 108 108 | 
             
                }
         | 
| @@ -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 |  | 
    
        data/ext/numo/gsl/sf/erbpp_sf.rb
    CHANGED
    
    | @@ -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 |  | 
    
        data/ext/numo/gsl/version.h
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            #define NUMO_GSL_VERSION "0.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 | 
            -
             | 
| 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", " | 
| 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. | 
| 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:  | 
| 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: {}
         |