Sha256: d0ba76767ee5026f20c5a9854e12ba9941b83f4c33079c36562aea93f2cae232

Contents?: true

Size: 1.12 KB

Versions: 2

Compression:

Stored size: 1.12 KB

Contents

require_relative "parse_wavelet"
require_relative "../gen/erbpp_gsl"
require "erbpp/line_number"


gsl_list = ErbppGsl.read_func

class_list = [
 ["WaveletWorkspace","wavelet_workspace",[]],
 ["Wavelet","wavelet",list_1d=[]],
 ["Wavelet2D","wavelet2d",list_2d=[]],
]
ErbppGsl.read_func_pattern(
  *class_list.map{|name,base,list| [/gsl_#{base}_/, list]}
)
list_2d << list_1d.find{|h| h[:func_name]=="gsl_wavelet_alloc"}

DefLib.new do
  set erb_dir: %w[tmpl ../gen/tmpl]
  set erb_suffix: ".c"
  set ns_var: "mG"

  #ErbPP.new(self,"cast_1d_contiguous")
  #ErbPP.new(self,"cast_2d_contiguous")
  ErbPP.new(self,"wavelet_macro")
  ErbPP.new(self,"wavelet_array_check")

  name = "Wavelet"
  set file_name: "gsl_#{name}.c"
  set include_files: %w[gsl/gsl_wavelet.h gsl/gsl_wavelet2d.h]
  set lib_name: name.downcase

  class_list.each do |name,base,list|
    DefWavelet.new(self) do
      set name: base
      set class_name: name
      set class_var: "c"+name
      set full_class_name: "Numo::GSL::"+name
      set struct: "gsl_"+base.sub(/2d/,"")

      undef_alloc_func
      list.each do |h|
        check_func(h)
      end
    end

  end
end.run

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
numo-gsl-0.1.1 ext/numo/gsl/wavelet/erbpp_wavelet.rb
numo-gsl-0.1.0 ext/numo/gsl/wavelet/erbpp_wavelet.rb