Class: SfBasic

Inherits:
SfTemplate show all
Defined in:
ext/numo/gsl/sf/parse_sf.rb

Overview


Constant Summary collapse

RE =
/^gsl_sf_/
PARAM_DESC =
{
 "norm"=>"@param [Integer] norm Type of normalization to use. "+
   "The possible values are: Numo::GSL::Sf::Legendre::NONE, "+
   "Numo::GSL::Sf::Legendre::SCHMIDT, "+
   "Numo::GSL::Sf::Legendre::SPHARM, Numo::GSL::Sf::Legendre::FULL",
 "mode"=>"@param [Integer] mode  The following precision levels are available: "+
   "Numo::GSL::PREC_DOUBLE, Numo::GSL::PREC_SINGLE, Numo::GSL::PREC_APPROX.",
 "lmax"=>"@param [Integer] lmax",
 "csphase"=>"@param [Float] csphase  To include or exclude "+
   "the Condon-Shortley phase factor of (-1)^m, "+
   "set the parameter csphase to either -1 or 1 respectively.",
 "work"=>"@param [Numo::GSL::Sf::MathieuWorkspace] work",
}
PARAM_NAMES =
{
 "double" => %w[csphase],
 "int" => true, #%w[n m i j l kmax lmax nmin nmax size order_min order_max],
 "size_t" => true, #%w[lmax],
 "gsl_sf_legendre_t" => true,
 "gsl_mode_t" => true,
 "gsl_sf_mathieu_workspace *"=>true,
}

Instance Attribute Summary

Attributes included from FuncParser

#args_in, #args_out, #args_param, #counter, #generate_array

Attributes inherited from ErbPP

#children, #parent

Class Method Summary collapse

Methods inherited from SfTemplate

#initialize

Methods included from FuncParser

#argument_property, #c_args, #cdef_args, #def_ain, #def_aout, #desc_param, #desc_param_scalar, #find_name, #is_param, #method_args, #n_in, #n_input, #n_out, #n_param, #ndl_args, #param_desc, #param_names, #parse_args, #recv

Methods inherited from DefGslModuleFunction

#initialize

Methods inherited from DefModuleFunction

#init_def, #initialize

Methods inherited from DefMethod

#c_func, #c_iter, #c_name, #define_method_args, #id_op, #init_def, #initialize, #op_map, #singleton

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 SfTemplate

Dynamic Method Handling

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

Class Method Details

.lookup(h) ⇒ Object



108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'ext/numo/gsl/sf/parse_sf.rb', line 108

def self.lookup(h)
  if RE =~ h[:func_name]
    case h[:func_name]
    when /_(alloc)|(free)$/
      false
    when /angle_restrict_\w+_e/ # overwrite on *theta
      false
    when /bessel_sequence_Jnu_e/ # overwrite on v[]
      false
    else
      meth = h[:func_name].sub(/^gsl_sf_/,"")
      if [/^coupling_/,
          /^legendre_array_(n|index)/,
          /^psi(_1)?_int/,
          /^z?eta(m1)?_int/].any?{|re| re =~ meth}
        "mod_func_scalar"
      else
        "mod_func_noloop"
      end
    end
  else
    false
  end
end