Class: DefHistogram

Inherits:
DefGslClass show all
Defined in:
ext/numo/gsl/histogram/erbpp_histogram.rb

Instance Attribute Summary

Attributes inherited from ErbPP

#children, #parent

Instance Method Summary collapse

Methods inherited from DefGslClass

#check_func, #define_method, #to_method_name

Methods included from ErbppGsl

FM, dbl, dblp, int, intp, long, read_const, read_enum, read_eval, read_func, read_func_pattern, read_type, str, szt, sztp, tp, uint, ulong, void

Methods inherited from DefClass

#_mod_var, #free_func, #init_erb, #initialize, #super_class

Methods inherited from DefModule

#_mod_var, #def_id, #id_list, #init_def, #init_erb, #initialize, #method_code

Methods included from DeclMethod

#def_alias, #def_alloc_func, #def_const, #def_method, #def_module_function, #def_singleton_method, #undef_alloc_func, #undef_method, #undef_singleton_method

Methods inherited from ErbPP

#add_child, #description, #find, #find_tmpl, #get, #init_def, #initialize, #load_erb, #method_missing, #method_missing_alias, #result, #run, #set, #write

Constructor Details

This class inherits a constructor from DefClass

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class ErbPP

Instance Method Details

#lookup(h) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'ext/numo/gsl/histogram/erbpp_histogram.rb', line 40

def lookup(h)
  case h
  when FM(name:/_free$/);                 false
  when FM(szt, name:/_alloc$/);           "c_new_sizet"
  when FM(szt,szt, name:/_alloc$/);       "c_new_sizet_x2"
  when FM(name:/2d_set_ranges$/);         "c_self_f_2d_set_ranges"
  when FM(name:/_set_ranges$/);           "c_self_f_set_ranges"
  when FM(name:/(2d)?_get_[xy]?range$/);  "c_DFloat_x2_f_get_range"
  when FM(name:/2d_get$/);                "c_DFloat_f_2d_get"
  when FM(name:/_get$/);                  "c_DFloat_f_get"
  when FM(name:/2d_increment$/);          "c_self_f_DFloat_x2"
  when FM(name:/_increment$/);            "c_self_f_DFloat"
  when FM(name:/2d_accumulate$/);         "c_self_f_DFloat_x3"
  when FM(name:/_accumulate$/);           "c_self_f_DFloat_x2"
  when FM(name:/(2d)?_pdf_init$/);        "c_bool_f_pdf_init"
  when FM(name:/2d_pdf_sample$/);         "c_DFloat_x2_f_DFloat_x2"
  when FM(name:/_pdf_sample$/);           "c_DFloat_f_DFloat"
  when FM(tp, type:dbl);                  "c_double_f_void"
  when FM(tp,dbl, type:dbl);              "c_double_f_double"
  when FM(tp,szt, type:dbl);              "c_double_f_sizet"
  when FM(tp,szt,szt, type:dbl);          "c_double_f_sizet_x2"
  when FM("struct", type:dblp);           "c_DFloat_f_field"
  when FM(tp, type:szt);                  "c_sizet_f_void"
  when FM(tp,dbl, type:szt);              "c_sizet_f_double"
  when FM(tp,szt, type:szt);              "c_sizet_f_sizet"
  when FM("struct", type:szt);            "c_sizet_f_field"
  when FM(tp, type:int);                  "c_void_f_void"
  when FM(tp,dbl, type:int);              "c_void_f_double"
  when FM(tp,*[dbl]*2, type:int);         "c_void_f_double_x2"
  when FM(tp,*[dbl]*4, type:int);         "c_void_f_double_x4"
  when FM(tp,szt, type:int);              "c_void_f_sizet"
  when FM(tp,tp, type:int);               "c_bool_f_other"
  when FM(tp, type:void);                 "c_void_f_void"
  when FM(tp,*[sztp]*2, type:void);       "c_sizet_x2_f_void"
  end
end