Sha256: 279d965f4902ba5e4255788a33518ed4154f72dbafea1538dde37da7c6ee82f8
Contents?: true
Size: 1.32 KB
Versions: 3
Compression:
Stored size: 1.32 KB
Contents
require_relative "../gen/erbpp_gsl" class DefWavelet < DefGslClass WAVELET_TYPES = ErbppGsl.read_type.select{|s| /gsl_wavelet_/ =~ s} def lookup(h) t = get(:struct) ws = t + "_workspace *" dr = t + "_direction" case h when FM(name:/_free$/); false when FM(name:"gsl_wavelet_workspace_alloc"); "c_new_sizet" when FM(/_type /, szt, name:/_alloc$/); "wavelet_new" when FM(tp, type:str); "c_str_f_void" when FM(tp, type:uint); "c_uint_f_void" when FM(tp,dblp,szt,szt,dr,ws); "wavelet_transform" when FM(tp,dblp,szt,szt,ws); "wavelet_transform2" when FM(tp,dblp,*[szt]*3,dr,ws); "wavelet2d_transform" when FM(tp,dblp,*[szt]*3,ws); "wavelet_transform2" when FM(tp); "c_self_f_void" end end def check_func(h) if t = lookup(h) m = h[:func_name].sub(/^gsl_[^_]+_/,"") DefMethod.new(self, t, name:m, **h) def_type_new(h) return true end $stderr.puts "skip #{h[:func_name]}" false end def def_type_new(h) case h[:func_name] when "gsl_wavelet_alloc" t = "wavelet_type_new" WAVELET_TYPES.each do |st| DefSubclassNew.new(self, t, st, **h) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
numo-gsl-0.1.2 | ext/numo/gsl/wavelet/parse_wavelet.rb |
numo-gsl-0.1.1 | ext/numo/gsl/wavelet/parse_wavelet.rb |
numo-gsl-0.1.0 | ext/numo/gsl/wavelet/parse_wavelet.rb |