Sha256: ffa15ded536651dba79c2f6ae4637b2b13062aeb51faebe45ed60fcbbe6b4bf3

Contents?: true

Size: 922 Bytes

Versions: 1

Compression:

Stored size: 922 Bytes

Contents

require_relative "../gen/erbpp_gsl"
require_relative "parse_ran"

ErbppGsl.read_func_pattern(
  [ /^gsl_ran_discrete_(\w+)$/,   disc_list=[]],
  [ /^gsl_ran_(\w+)_pdf$/,        ran_list=[]],
)

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

  name = "Ran"
  base = name.downcase
  set file_name: "gsl_#{name}.c"
  set include_files: ["gsl/gsl_randist.h"]
  set lib_name: "ran"

  def_module do
    set name: base
    set module_name: name
    set module_var: "m"+name
    set full_module_name: "Numo::GSL::"+name
  end

  DefDiscrete.new(self) do
    name = "Discrete"
    base = name.downcase
    set ns_var: "mRan"
    set name: "ran_"+base
    set class_name: name
    set class_var: "c"+name
    set full_class_name: "Numo::GSL::Ran::"+name
    set struct: "gsl_ran_discrete_t"

    disc_list.each do |h|
      check_func(h)
    end
  end

end.run

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
numo-gsl-0.1.2 ext/numo/gsl/ran/erbpp_ran.rb