numo-gsl 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +4 -0
- data/README.md +84 -0
- data/Rakefile +16 -0
- data/ext/numo/gsl/cdf/depend +17 -0
- data/ext/numo/gsl/cdf/erbpp_cdf.rb +44 -0
- data/ext/numo/gsl/cdf/extconf.rb +9 -0
- data/ext/numo/gsl/cdf/func_def.rb +610 -0
- data/ext/numo/gsl/const/const_def.rb +419 -0
- data/ext/numo/gsl/const/depend +17 -0
- data/ext/numo/gsl/const/erbpp_const.rb +30 -0
- data/ext/numo/gsl/const/extconf.rb +9 -0
- data/ext/numo/gsl/err/depend +1 -0
- data/ext/numo/gsl/err/err.c +22 -0
- data/ext/numo/gsl/err/extconf.rb +9 -0
- data/ext/numo/gsl/extconf_gsl.rb +44 -0
- data/ext/numo/gsl/fit/depend +17 -0
- data/ext/numo/gsl/fit/erbpp_fit.rb +74 -0
- data/ext/numo/gsl/fit/extconf.rb +9 -0
- data/ext/numo/gsl/fit/func_def.rb +129 -0
- data/ext/numo/gsl/fit/tmpl/check_1d.c +9 -0
- data/ext/numo/gsl/fit/tmpl/fit_linear.c +53 -0
- data/ext/numo/gsl/fit/tmpl/fit_linear_est.c +56 -0
- data/ext/numo/gsl/fit/tmpl/fit_mul.c +50 -0
- data/ext/numo/gsl/fit/tmpl/fit_mul_est.c +47 -0
- data/ext/numo/gsl/fit/tmpl/fit_wlinear.c +59 -0
- data/ext/numo/gsl/fit/tmpl/fit_wmul.c +56 -0
- data/ext/numo/gsl/gen/erbpp2.rb +306 -0
- data/ext/numo/gsl/gen/erbpp_gsl.rb +166 -0
- data/ext/numo/gsl/gen/func_parser.rb +520 -0
- data/ext/numo/gsl/gen/tmpl/c_DFloat_f_DFloat.c +40 -0
- data/ext/numo/gsl/gen/tmpl/c_DFloat_f_SZ.c +41 -0
- data/ext/numo/gsl/gen/tmpl/c_DFloat_f_SZ_x2.c +44 -0
- data/ext/numo/gsl/gen/tmpl/c_DFloat_x2_f_DFloat_x2.c +45 -0
- data/ext/numo/gsl/gen/tmpl/c_double_f_double.c +16 -0
- data/ext/numo/gsl/gen/tmpl/c_double_f_sizet.c +16 -0
- data/ext/numo/gsl/gen/tmpl/c_double_f_sizet_x2.c +17 -0
- data/ext/numo/gsl/gen/tmpl/c_double_f_void.c +15 -0
- data/ext/numo/gsl/gen/tmpl/c_double_x2_f_void.c +17 -0
- data/ext/numo/gsl/gen/tmpl/c_new_DFloat.c +29 -0
- data/ext/numo/gsl/gen/tmpl/c_new_double.c +22 -0
- data/ext/numo/gsl/gen/tmpl/c_new_f_other.c +25 -0
- data/ext/numo/gsl/gen/tmpl/c_new_sizet.c +22 -0
- data/ext/numo/gsl/gen/tmpl/c_new_sizet_double.c +23 -0
- data/ext/numo/gsl/gen/tmpl/c_new_sizet_x2.c +23 -0
- data/ext/numo/gsl/gen/tmpl/c_new_void.c +21 -0
- data/ext/numo/gsl/gen/tmpl/c_other_f_void.c +19 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_DFloat.c +46 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_DFloat_x2.c +41 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_DFloat_x3.c +44 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_DFloat_x4.c +47 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_SZ_x2_DFloat.c +45 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_double.c +17 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_other.c +17 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_sizet.c +21 -0
- data/ext/numo/gsl/gen/tmpl/c_self_f_void.c +14 -0
- data/ext/numo/gsl/gen/tmpl/c_sizet_f_void.c +15 -0
- data/ext/numo/gsl/gen/tmpl/c_sizet_x2_f_void.c +17 -0
- data/ext/numo/gsl/gen/tmpl/c_str_f_void.c +15 -0
- data/ext/numo/gsl/gen/tmpl/c_super_new_void.c +18 -0
- data/ext/numo/gsl/gen/tmpl/c_uint_f_void.c +15 -0
- data/ext/numo/gsl/gen/tmpl/c_ulong_f_void.c +15 -0
- data/ext/numo/gsl/gen/tmpl/c_void_f_double.c +17 -0
- data/ext/numo/gsl/gen/tmpl/c_void_f_double_x2.c +18 -0
- data/ext/numo/gsl/gen/tmpl/c_void_f_double_x4.c +20 -0
- data/ext/numo/gsl/gen/tmpl/c_void_f_ulong.c +17 -0
- data/ext/numo/gsl/gen/tmpl/c_void_f_void.c +14 -0
- data/ext/numo/gsl/gen/tmpl/cast_1d_contiguous.c +15 -0
- data/ext/numo/gsl/gen/tmpl/cast_2d_contiguous.c +15 -0
- data/ext/numo/gsl/gen/tmpl/class.c +26 -0
- data/ext/numo/gsl/gen/tmpl/create_new_narray.c +26 -0
- data/ext/numo/gsl/gen/tmpl/init_class.c +10 -0
- data/ext/numo/gsl/gen/tmpl/init_module.c +12 -0
- data/ext/numo/gsl/gen/tmpl/lib.c +41 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_Int_f_DFloat.c +38 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat.c +35 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat_Int.c +39 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat_UInt.c +39 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat_double.c +42 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat_double_x2.c +47 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat_int.c +42 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat_x2.c +38 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_DFloat_x3.c +41 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_Int.c +36 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt.c +36 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt32.c +36 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt32_double.c +43 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt32_double_uint.c +49 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt32_double_x2.c +48 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt32_uint_x3.c +51 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt_double.c +43 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt_double_uint.c +50 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt_double_x2.c +48 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_UInt_uint_x3.c +51 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_int_DFloat.c +41 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_int_DFloat_x2.c +44 -0
- data/ext/numo/gsl/gen/tmpl/m_DFloat_f_int_x2_DFloat_x2.c +46 -0
- data/ext/numo/gsl/gen/tmpl/m_Int_f_DFloat.c +36 -0
- data/ext/numo/gsl/gen/tmpl/m_Int_f_DFloat_x3.c +42 -0
- data/ext/numo/gsl/gen/tmpl/m_Int_f_int_DFloat.c +42 -0
- data/ext/numo/gsl/gen/tmpl/m_Int_f_int_DFloat_x2.c +45 -0
- data/ext/numo/gsl/gen/tmpl/mod_func_noloop.c +54 -0
- data/ext/numo/gsl/gen/tmpl/mod_func_scalar.c +27 -0
- data/ext/numo/gsl/gen/tmpl/module.c +9 -0
- data/ext/numo/gsl/histogram/depend +17 -0
- data/ext/numo/gsl/histogram/erbpp_histogram.rb +109 -0
- data/ext/numo/gsl/histogram/extconf.rb +9 -0
- data/ext/numo/gsl/histogram/func_def.rb +763 -0
- data/ext/numo/gsl/histogram/tmpl/c_DFloat_f_2d_get.c +54 -0
- data/ext/numo/gsl/histogram/tmpl/c_DFloat_f_field.c +35 -0
- data/ext/numo/gsl/histogram/tmpl/c_DFloat_f_get.c +47 -0
- data/ext/numo/gsl/histogram/tmpl/c_DFloat_x2_f_get_range.c +56 -0
- data/ext/numo/gsl/histogram/tmpl/c_bool_f_other.c +19 -0
- data/ext/numo/gsl/histogram/tmpl/c_bool_f_pdf_init.c +24 -0
- data/ext/numo/gsl/histogram/tmpl/c_self_f_2d_set_ranges.c +26 -0
- data/ext/numo/gsl/histogram/tmpl/c_self_f_set_ranges.c +21 -0
- data/ext/numo/gsl/histogram/tmpl/c_sizet_f_field.c +15 -0
- data/ext/numo/gsl/interp/depend +17 -0
- data/ext/numo/gsl/interp/erbpp_interp.rb +59 -0
- data/ext/numo/gsl/interp/extconf.rb +9 -0
- data/ext/numo/gsl/interp/func_def.rb +816 -0
- data/ext/numo/gsl/interp/parse_interp.rb +67 -0
- data/ext/numo/gsl/interp/tmpl/interp2d_new.c +36 -0
- data/ext/numo/gsl/interp/tmpl/interp2d_type_new.c +17 -0
- data/ext/numo/gsl/interp/tmpl/interp_bsearch.c +57 -0
- data/ext/numo/gsl/interp/tmpl/interp_new.c +29 -0
- data/ext/numo/gsl/interp/tmpl/interp_type_new.c +16 -0
- data/ext/numo/gsl/interp/tmpl/spline2d_eval.c +61 -0
- data/ext/numo/gsl/interp/tmpl/spline_eval.c +55 -0
- data/ext/numo/gsl/interp/tmpl/spline_integ.c +56 -0
- data/ext/numo/gsl/interp/type_def.rb +9 -0
- data/ext/numo/gsl/multifit/depend +17 -0
- data/ext/numo/gsl/multifit/erbpp_multifit.rb +99 -0
- data/ext/numo/gsl/multifit/extconf.rb +9 -0
- data/ext/numo/gsl/multifit/func_2.1.rb +1035 -0
- data/ext/numo/gsl/multifit/func_2.2.1.rb +736 -0
- data/ext/numo/gsl/multifit/func_2.2.rb +736 -0
- data/ext/numo/gsl/multifit/func_2.3.rb +872 -0
- data/ext/numo/gsl/multifit/func_def.rb +1012 -0
- data/ext/numo/gsl/multifit/tmpl/multifit_linear.c +66 -0
- data/ext/numo/gsl/multifit/tmpl/multifit_linear_est.c +48 -0
- data/ext/numo/gsl/multifit/tmpl/multifit_linear_residuals.c +47 -0
- data/ext/numo/gsl/multifit/tmpl/multifit_wlinear.c +70 -0
- data/ext/numo/gsl/multifit/type_def.rb +1 -0
- data/ext/numo/gsl/numo_gsl.h +117 -0
- data/ext/numo/gsl/pdf/depend +17 -0
- data/ext/numo/gsl/pdf/erbpp_pdf.rb +26 -0
- data/ext/numo/gsl/pdf/extconf.rb +9 -0
- data/ext/numo/gsl/pdf/func_2.2.1.rb +306 -0
- data/ext/numo/gsl/pdf/func_2.2.rb +306 -0
- data/ext/numo/gsl/pdf/func_2.3.rb +306 -0
- data/ext/numo/gsl/pdf/func_def.rb +282 -0
- data/ext/numo/gsl/pdf/parse_pdf.rb +42 -0
- data/ext/numo/gsl/pdf/tmpl/dirichlet.c +39 -0
- data/ext/numo/gsl/pdf/tmpl/multinomial.c +39 -0
- data/ext/numo/gsl/poly/depend +17 -0
- data/ext/numo/gsl/poly/erbpp_poly.rb +70 -0
- data/ext/numo/gsl/poly/extconf.rb +9 -0
- data/ext/numo/gsl/poly/func_def.rb +234 -0
- data/ext/numo/gsl/poly/tmpl/poly_complex_solve.c +59 -0
- data/ext/numo/gsl/poly/tmpl/poly_eval.c +70 -0
- data/ext/numo/gsl/poly/tmpl/poly_eval_derivs.c +40 -0
- data/ext/numo/gsl/ran/depend +17 -0
- data/ext/numo/gsl/ran/erbpp_ran.rb +42 -0
- data/ext/numo/gsl/ran/extconf.rb +9 -0
- data/ext/numo/gsl/ran/func_2.2.1.rb +1658 -0
- data/ext/numo/gsl/ran/func_2.2.rb +1658 -0
- data/ext/numo/gsl/ran/func_2.3.rb +1658 -0
- data/ext/numo/gsl/ran/func_def.rb +1594 -0
- data/ext/numo/gsl/ran/parse_ran.rb +10 -0
- data/ext/numo/gsl/rng/depend +17 -0
- data/ext/numo/gsl/rng/erbpp_rng.rb +58 -0
- data/ext/numo/gsl/rng/extconf.rb +9 -0
- data/ext/numo/gsl/rng/func_def.rb +230 -0
- data/ext/numo/gsl/rng/parse_rng.rb +125 -0
- data/ext/numo/gsl/rng/tmpl/ran.c +40 -0
- data/ext/numo/gsl/rng/tmpl/ran_DFloat_f_DFloat.c +28 -0
- data/ext/numo/gsl/rng/tmpl/ran_DFloat_x2.c +45 -0
- data/ext/numo/gsl/rng/tmpl/ran_DFloat_x3.c +51 -0
- data/ext/numo/gsl/rng/tmpl/ran_multinomial.c +32 -0
- data/ext/numo/gsl/rng/tmpl/rng_DFloat.c +29 -0
- data/ext/numo/gsl/rng/tmpl/rng_UInt.c +44 -0
- data/ext/numo/gsl/rng/tmpl/rng_alloc.c +24 -0
- data/ext/numo/gsl/rng/tmpl/rng_type_new.c +14 -0
- data/ext/numo/gsl/rng/type_def.rb +63 -0
- data/ext/numo/gsl/rstat/depend +17 -0
- data/ext/numo/gsl/rstat/erbpp_rstat.rb +64 -0
- data/ext/numo/gsl/rstat/extconf.rb +9 -0
- data/ext/numo/gsl/rstat/func_2.2.1.rb +116 -0
- data/ext/numo/gsl/rstat/func_2.2.rb +116 -0
- data/ext/numo/gsl/rstat/func_2.3.rb +123 -0
- data/ext/numo/gsl/rstat/func_def.rb +102 -0
- data/ext/numo/gsl/sf/depend +17 -0
- data/ext/numo/gsl/sf/erbpp_sf.rb +51 -0
- data/ext/numo/gsl/sf/extconf.rb +9 -0
- data/ext/numo/gsl/sf/func_def.rb +4703 -0
- data/ext/numo/gsl/sf/parse_sf.rb +277 -0
- data/ext/numo/gsl/sf/tmpl/c_DFloat_f_int_x2_DFloat.c +50 -0
- data/ext/numo/gsl/sf/tmpl/c_DFloat_f_int_x2_DFloat_x2.c +52 -0
- data/ext/numo/gsl/sf/tmpl/c_DFloat_f_int_x3_DFloat_x2.c +55 -0
- data/ext/numo/gsl/sf/tmpl/m_DFloat_f_DFloat_mode.c +47 -0
- data/ext/numo/gsl/sf/tmpl/m_DFloat_f_lmax_array.c +41 -0
- data/ext/numo/gsl/sf/tmpl/m_DFloat_f_nmin_nmax_array.c +49 -0
- data/ext/numo/gsl/spmatrix/const_2.2.1.rb +3 -0
- data/ext/numo/gsl/spmatrix/const_2.2.rb +3 -0
- data/ext/numo/gsl/spmatrix/const_2.3.rb +3 -0
- data/ext/numo/gsl/spmatrix/const_def.rb +2 -0
- data/ext/numo/gsl/spmatrix/depend +17 -0
- data/ext/numo/gsl/spmatrix/erbpp_spmatrix.rb +100 -0
- data/ext/numo/gsl/spmatrix/extconf.rb +9 -0
- data/ext/numo/gsl/spmatrix/func_2.2.1.rb +297 -0
- data/ext/numo/gsl/spmatrix/func_2.2.rb +297 -0
- data/ext/numo/gsl/spmatrix/func_2.3.rb +297 -0
- data/ext/numo/gsl/spmatrix/func_def.rb +218 -0
- data/ext/numo/gsl/spmatrix/parse_spmatrix.rb +70 -0
- data/ext/numo/gsl/spmatrix/tmpl/itersolve_iterate.c +47 -0
- data/ext/numo/gsl/spmatrix/tmpl/itersolve_new.c +22 -0
- data/ext/numo/gsl/spmatrix/tmpl/itersolve_type_new.c +16 -0
- data/ext/numo/gsl/spmatrix/tmpl/spblas_dgemm.c +35 -0
- data/ext/numo/gsl/spmatrix/tmpl/spblas_dgemv.c +43 -0
- data/ext/numo/gsl/spmatrix/tmpl/spmatrix_add.c +22 -0
- data/ext/numo/gsl/spmatrix/tmpl/spmatrix_d2sp.c +28 -0
- data/ext/numo/gsl/spmatrix/tmpl/spmatrix_new.c +40 -0
- data/ext/numo/gsl/spmatrix/tmpl/spmatrix_sp2d.c +25 -0
- data/ext/numo/gsl/spmatrix/type_def.rb +1 -0
- data/ext/numo/gsl/stats/depend +17 -0
- data/ext/numo/gsl/stats/erbpp_stats.rb +29 -0
- data/ext/numo/gsl/stats/extconf.rb +9 -0
- data/ext/numo/gsl/stats/func_2.2.1.rb +608 -0
- data/ext/numo/gsl/stats/func_2.2.rb +608 -0
- data/ext/numo/gsl/stats/func_2.3.rb +608 -0
- data/ext/numo/gsl/stats/func_def.rb +608 -0
- data/ext/numo/gsl/stats/parse_stats.rb +63 -0
- data/ext/numo/gsl/stats/tmpl/stats_1a0p.c +37 -0
- data/ext/numo/gsl/stats/tmpl/stats_1a0p_index.c +60 -0
- data/ext/numo/gsl/stats/tmpl/stats_1a1p.c +41 -0
- data/ext/numo/gsl/stats/tmpl/stats_1a2p.c +42 -0
- data/ext/numo/gsl/stats/tmpl/stats_2a0p.c +39 -0
- data/ext/numo/gsl/stats/tmpl/stats_2a1p.c +43 -0
- data/ext/numo/gsl/stats/tmpl/stats_2a2p.c +44 -0
- data/ext/numo/gsl/stats/tmpl/stats_minmax.c +37 -0
- data/ext/numo/gsl/stats/tmpl/stats_minmax_index.c +67 -0
- data/ext/numo/gsl/stats/tmpl/stats_spearman.c +46 -0
- data/ext/numo/gsl/sys/const_def.rb +21 -0
- data/ext/numo/gsl/sys/depend +17 -0
- data/ext/numo/gsl/sys/enum_def.rb +75 -0
- data/ext/numo/gsl/sys/erbpp_sys.rb +60 -0
- data/ext/numo/gsl/sys/extconf.rb +9 -0
- data/ext/numo/gsl/sys/func_def.rb +249 -0
- data/ext/numo/gsl/version.h +1 -0
- data/ext/numo/gsl/wavelet/depend +17 -0
- data/ext/numo/gsl/wavelet/erbpp_wavelet.rb +48 -0
- data/ext/numo/gsl/wavelet/extconf.rb +9 -0
- data/ext/numo/gsl/wavelet/func_def.rb +337 -0
- data/ext/numo/gsl/wavelet/parse_wavelet.rb +47 -0
- data/ext/numo/gsl/wavelet/tmpl/wavelet2d_transform.c +56 -0
- data/ext/numo/gsl/wavelet/tmpl/wavelet_array_check.c +56 -0
- data/ext/numo/gsl/wavelet/tmpl/wavelet_macro.c +1 -0
- data/ext/numo/gsl/wavelet/tmpl/wavelet_new.c +20 -0
- data/ext/numo/gsl/wavelet/tmpl/wavelet_transform.c +55 -0
- data/ext/numo/gsl/wavelet/tmpl/wavelet_transform2.c +22 -0
- data/ext/numo/gsl/wavelet/tmpl/wavelet_type_new.c +15 -0
- data/ext/numo/gsl/wavelet/type_def.rb +6 -0
- data/lib/numo/gsl.rb +17 -0
- data/numo-gsl.gemspec +33 -0
- metadata +367 -0
@@ -0,0 +1,282 @@
|
|
1
|
+
[{:func_name=>"gsl_ran_gaussian_pdf",
|
2
|
+
:func_type=>"double",
|
3
|
+
:args=>[["double", "x"], ["double", "sigma"]],
|
4
|
+
:desc=>
|
5
|
+
"This function computes the probability density p(x) at x\n" +
|
6
|
+
"for a Gaussian distribution with standard deviation sigma, using\n" +
|
7
|
+
"the formula given above."},
|
8
|
+
{:func_name=>"gsl_ran_ugaussian_pdf",
|
9
|
+
:func_type=>"double",
|
10
|
+
:args=>[["double", "x"]],
|
11
|
+
:desc=>
|
12
|
+
"These functions compute results for the unit Gaussian distribution. They\n" +
|
13
|
+
"are equivalent to the functions above with a standard deviation of one,\n" +
|
14
|
+
"sigma = 1."},
|
15
|
+
{:func_name=>"gsl_ran_gaussian_tail_pdf",
|
16
|
+
:func_type=>"double",
|
17
|
+
:args=>[["double", "x"], ["double", "a"], ["double", "sigma"]],
|
18
|
+
:desc=>
|
19
|
+
"This function computes the probability density p(x) at x\n" +
|
20
|
+
"for a Gaussian tail distribution with standard deviation sigma and\n" +
|
21
|
+
"lower limit a, using the formula given above."},
|
22
|
+
{:func_name=>"gsl_ran_ugaussian_tail_pdf",
|
23
|
+
:func_type=>"double",
|
24
|
+
:args=>[["double", "x"], ["double", "a"]],
|
25
|
+
:desc=>
|
26
|
+
"These functions compute results for the tail of a unit Gaussian\n" +
|
27
|
+
"distribution. They are equivalent to the functions above with a standard\n" +
|
28
|
+
"deviation of one, sigma = 1."},
|
29
|
+
{:func_name=>"gsl_ran_bivariate_gaussian_pdf",
|
30
|
+
:func_type=>"double",
|
31
|
+
:args=>
|
32
|
+
[["double", "x"],
|
33
|
+
["double", "y"],
|
34
|
+
["double", "sigma_x"],
|
35
|
+
["double", "sigma_y"],
|
36
|
+
["double", "rho"]],
|
37
|
+
:desc=>
|
38
|
+
"This function computes the probability density p(x,y) at\n" +
|
39
|
+
"(x,y) for a bivariate Gaussian distribution with standard\n" +
|
40
|
+
"deviations sigma_x, sigma_y and correlation coefficient\n" +
|
41
|
+
"rho, using the formula given above."},
|
42
|
+
{:func_name=>"gsl_ran_exponential_pdf",
|
43
|
+
:func_type=>"double",
|
44
|
+
:args=>[["double", "x"], ["double", "mu"]],
|
45
|
+
:desc=>
|
46
|
+
"This function computes the probability density p(x) at x\n" +
|
47
|
+
"for an exponential distribution with mean mu, using the formula\n" +
|
48
|
+
"given above."},
|
49
|
+
{:func_name=>"gsl_ran_laplace_pdf",
|
50
|
+
:func_type=>"double",
|
51
|
+
:args=>[["double", "x"], ["double", "a"]],
|
52
|
+
:desc=>
|
53
|
+
"This function computes the probability density p(x) at x\n" +
|
54
|
+
"for a Laplace distribution with width a, using the formula\n" +
|
55
|
+
"given above."},
|
56
|
+
{:func_name=>"gsl_ran_exppow_pdf",
|
57
|
+
:func_type=>"double",
|
58
|
+
:args=>[["double", "x"], ["double", "a"], ["double", "b"]],
|
59
|
+
:desc=>
|
60
|
+
"This function computes the probability density p(x) at x\n" +
|
61
|
+
"for an exponential power distribution with scale parameter a\n" +
|
62
|
+
"and exponent b, using the formula given above."},
|
63
|
+
{:func_name=>"gsl_ran_cauchy_pdf",
|
64
|
+
:func_type=>"double",
|
65
|
+
:args=>[["double", "x"], ["double", "a"]],
|
66
|
+
:desc=>
|
67
|
+
"This function computes the probability density p(x) at x\n" +
|
68
|
+
"for a Cauchy distribution with scale parameter a, using the formula\n" +
|
69
|
+
"given above."},
|
70
|
+
{:func_name=>"gsl_ran_rayleigh_pdf",
|
71
|
+
:func_type=>"double",
|
72
|
+
:args=>[["double", "x"], ["double", "sigma"]],
|
73
|
+
:desc=>
|
74
|
+
"This function computes the probability density p(x) at x\n" +
|
75
|
+
"for a Rayleigh distribution with scale parameter sigma, using the\n" +
|
76
|
+
"formula given above."},
|
77
|
+
{:func_name=>"gsl_ran_rayleigh_tail_pdf",
|
78
|
+
:func_type=>"double",
|
79
|
+
:args=>[["double", "x"], ["double", "a"], ["double", "sigma"]],
|
80
|
+
:desc=>
|
81
|
+
"This function computes the probability density p(x) at x\n" +
|
82
|
+
"for a Rayleigh tail distribution with scale parameter sigma and\n" +
|
83
|
+
"lower limit a, using the formula given above."},
|
84
|
+
{:func_name=>"gsl_ran_landau_pdf",
|
85
|
+
:func_type=>"double",
|
86
|
+
:args=>[["double", "x"]],
|
87
|
+
:desc=>
|
88
|
+
"This function computes the probability density p(x) at x\n" +
|
89
|
+
"for the Landau distribution using an approximation to the formula given\n" +
|
90
|
+
"above."},
|
91
|
+
{:func_name=>"gsl_ran_gamma_pdf",
|
92
|
+
:func_type=>"double",
|
93
|
+
:args=>[["double", "x"], ["double", "a"], ["double", "b"]],
|
94
|
+
:desc=>
|
95
|
+
"This function computes the probability density p(x) at x\n" +
|
96
|
+
"for a gamma distribution with parameters a and b, using the\n" +
|
97
|
+
"formula given above."},
|
98
|
+
{:func_name=>"gsl_ran_flat_pdf",
|
99
|
+
:func_type=>"double",
|
100
|
+
:args=>[["double", "x"], ["double", "a"], ["double", "b"]],
|
101
|
+
:desc=>
|
102
|
+
"This function computes the probability density p(x) at x\n" +
|
103
|
+
"for a uniform distribution from a to b, using the formula\n" +
|
104
|
+
"given above."},
|
105
|
+
{:func_name=>"gsl_ran_lognormal_pdf",
|
106
|
+
:func_type=>"double",
|
107
|
+
:args=>[["double", "x"], ["double", "zeta"], ["double", "sigma"]],
|
108
|
+
:desc=>
|
109
|
+
"This function computes the probability density p(x) at x\n" +
|
110
|
+
"for a lognormal distribution with parameters zeta and sigma,\n" +
|
111
|
+
"using the formula given above."},
|
112
|
+
{:func_name=>"gsl_ran_chisq_pdf",
|
113
|
+
:func_type=>"double",
|
114
|
+
:args=>[["double", "x"], ["double", "nu"]],
|
115
|
+
:desc=>
|
116
|
+
"This function computes the probability density p(x) at x\n" +
|
117
|
+
"for a chi-squared distribution with nu degrees of freedom, using\n" +
|
118
|
+
"the formula given above."},
|
119
|
+
{:func_name=>"gsl_ran_fdist_pdf",
|
120
|
+
:func_type=>"double",
|
121
|
+
:args=>[["double", "x"], ["double", "nu1"], ["double", "nu2"]],
|
122
|
+
:desc=>
|
123
|
+
"This function computes the probability density p(x) at x\n" +
|
124
|
+
"for an F-distribution with nu1 and nu2 degrees of freedom,\n" +
|
125
|
+
"using the formula given above."},
|
126
|
+
{:func_name=>"gsl_ran_tdist_pdf",
|
127
|
+
:func_type=>"double",
|
128
|
+
:args=>[["double", "x"], ["double", "nu"]],
|
129
|
+
:desc=>
|
130
|
+
"This function computes the probability density p(x) at x\n" +
|
131
|
+
"for a t-distribution with nu degrees of freedom, using the formula\n" +
|
132
|
+
"given above."},
|
133
|
+
{:func_name=>"gsl_ran_beta_pdf",
|
134
|
+
:func_type=>"double",
|
135
|
+
:args=>[["double", "x"], ["double", "a"], ["double", "b"]],
|
136
|
+
:desc=>
|
137
|
+
"This function computes the probability density p(x) at x\n" +
|
138
|
+
"for a beta distribution with parameters a and b, using the\n" +
|
139
|
+
"formula given above."},
|
140
|
+
{:func_name=>"gsl_ran_logistic_pdf",
|
141
|
+
:func_type=>"double",
|
142
|
+
:args=>[["double", "x"], ["double", "a"]],
|
143
|
+
:desc=>
|
144
|
+
"This function computes the probability density p(x) at x\n" +
|
145
|
+
"for a logistic distribution with scale parameter a, using the\n" +
|
146
|
+
"formula given above."},
|
147
|
+
{:func_name=>"gsl_ran_pareto_pdf",
|
148
|
+
:func_type=>"double",
|
149
|
+
:args=>[["double", "x"], ["double", "a"], ["double", "b"]],
|
150
|
+
:desc=>
|
151
|
+
"This function computes the probability density p(x) at x\n" +
|
152
|
+
"for a Pareto distribution with exponent a and scale b, using\n" +
|
153
|
+
"the formula given above."},
|
154
|
+
{:func_name=>"gsl_ran_weibull_pdf",
|
155
|
+
:func_type=>"double",
|
156
|
+
:args=>[["double", "x"], ["double", "a"], ["double", "b"]],
|
157
|
+
:desc=>
|
158
|
+
"This function computes the probability density p(x) at x\n" +
|
159
|
+
"for a Weibull distribution with scale a and exponent b,\n" +
|
160
|
+
"using the formula given above."},
|
161
|
+
{:func_name=>"gsl_ran_gumbel1_pdf",
|
162
|
+
:func_type=>"double",
|
163
|
+
:args=>[["double", "x"], ["double", "a"], ["double", "b"]],
|
164
|
+
:desc=>
|
165
|
+
"This function computes the probability density p(x) at x\n" +
|
166
|
+
"for a Type-1 Gumbel distribution with parameters a and b,\n" +
|
167
|
+
"using the formula given above."},
|
168
|
+
{:func_name=>"gsl_ran_gumbel2_pdf",
|
169
|
+
:func_type=>"double",
|
170
|
+
:args=>[["double", "x"], ["double", "a"], ["double", "b"]],
|
171
|
+
:desc=>
|
172
|
+
"This function computes the probability density p(x) at x\n" +
|
173
|
+
"for a Type-2 Gumbel distribution with parameters a and b,\n" +
|
174
|
+
"using the formula given above."},
|
175
|
+
{:func_name=>"gsl_ran_dirichlet_pdf",
|
176
|
+
:func_type=>"double",
|
177
|
+
:args=>
|
178
|
+
[["size_t", "K"], ["const double", "alpha[]"], ["const double", "theta[]"]],
|
179
|
+
:desc=>
|
180
|
+
"This function computes the probability density \n" +
|
181
|
+
"$p(\\theta_1, \\ldots , \\theta_K)$\n" +
|
182
|
+
"p(\\theta_1, ... , \\theta_K)\n" +
|
183
|
+
"at theta[K] for a Dirichlet distribution with parameters \n" +
|
184
|
+
"alpha[K], using the formula given above."},
|
185
|
+
{:func_name=>"gsl_ran_dirichlet_lnpdf",
|
186
|
+
:func_type=>"double",
|
187
|
+
:args=>
|
188
|
+
[["size_t", "K"], ["const double", "alpha[]"], ["const double", "theta[]"]],
|
189
|
+
:desc=>
|
190
|
+
"This function computes the logarithm of the probability density \n" +
|
191
|
+
"$p(\\theta_1, \\ldots , \\theta_K)$\n" +
|
192
|
+
"p(\\theta_1, ... , \\theta_K)\n" +
|
193
|
+
"for a Dirichlet distribution with parameters \n" +
|
194
|
+
"alpha[K]."},
|
195
|
+
{:func_name=>"gsl_ran_discrete_pdf",
|
196
|
+
:func_type=>"double",
|
197
|
+
:args=>[["size_t", "k"], ["const gsl_ran_discrete_t *", "g"]],
|
198
|
+
:desc=>
|
199
|
+
"Returns the probability P[k] of observing the variable k.\n" +
|
200
|
+
"Since P[k] is not stored as part of the lookup table, it must be\n" +
|
201
|
+
"recomputed; this computation takes O(K), so if K is large\n" +
|
202
|
+
"and you care about the original array P[k] used to create the\n" +
|
203
|
+
"lookup table, then you should just keep this original array P[k]\n" +
|
204
|
+
"around."},
|
205
|
+
{:func_name=>"gsl_ran_poisson_pdf",
|
206
|
+
:func_type=>"double",
|
207
|
+
:args=>[["unsigned int", "k"], ["double", "mu"]],
|
208
|
+
:desc=>
|
209
|
+
"This function computes the probability p(k) of obtaining k\n" +
|
210
|
+
"from a Poisson distribution with mean mu, using the formula\n" +
|
211
|
+
"given above."},
|
212
|
+
{:func_name=>"gsl_ran_bernoulli_pdf",
|
213
|
+
:func_type=>"double",
|
214
|
+
:args=>[["unsigned int", "k"], ["double", "p"]],
|
215
|
+
:desc=>
|
216
|
+
"This function computes the probability p(k) of obtaining\n" +
|
217
|
+
"k from a Bernoulli distribution with probability parameter\n" +
|
218
|
+
"p, using the formula given above."},
|
219
|
+
{:func_name=>"gsl_ran_binomial_pdf",
|
220
|
+
:func_type=>"double",
|
221
|
+
:args=>[["unsigned int", "k"], ["double", "p"], ["unsigned int", "n"]],
|
222
|
+
:desc=>
|
223
|
+
"This function computes the probability p(k) of obtaining k\n" +
|
224
|
+
"from a binomial distribution with parameters p and n, using\n" +
|
225
|
+
"the formula given above."},
|
226
|
+
{:func_name=>"gsl_ran_multinomial_pdf",
|
227
|
+
:func_type=>"double",
|
228
|
+
:args=>
|
229
|
+
[["size_t", "K"], ["const double", "p[]"], ["const unsigned int", "n[]"]],
|
230
|
+
:desc=>
|
231
|
+
"This function computes the probability \n" +
|
232
|
+
"$P(n_1, n_2, \\ldots, n_K)$\n" +
|
233
|
+
"P(n_1, n_2, ..., n_K)\n" +
|
234
|
+
"of sampling n[K] from a multinomial distribution \n" +
|
235
|
+
"with parameters p[K], using the formula given above."},
|
236
|
+
{:func_name=>"gsl_ran_multinomial_lnpdf",
|
237
|
+
:func_type=>"double",
|
238
|
+
:args=>
|
239
|
+
[["size_t", "K"], ["const double", "p[]"], ["const unsigned int", "n[]"]],
|
240
|
+
:desc=>
|
241
|
+
"This function returns the logarithm of the probability for the\n" +
|
242
|
+
"multinomial distribution $P(n_1, n_2, \\ldots, n_K)$\n" +
|
243
|
+
"P(n_1, n_2, ..., n_K) with parameters p[K]."},
|
244
|
+
{:func_name=>"gsl_ran_negative_binomial_pdf",
|
245
|
+
:func_type=>"double",
|
246
|
+
:args=>[["unsigned int", "k"], ["double", "p"], ["double", "n"]],
|
247
|
+
:desc=>
|
248
|
+
"This function computes the probability p(k) of obtaining k\n" +
|
249
|
+
"from a negative binomial distribution with parameters p and\n" +
|
250
|
+
"n, using the formula given above."},
|
251
|
+
{:func_name=>"gsl_ran_pascal_pdf",
|
252
|
+
:func_type=>"double",
|
253
|
+
:args=>[["unsigned int", "k"], ["double", "p"], ["unsigned int", "n"]],
|
254
|
+
:desc=>
|
255
|
+
"This function computes the probability p(k) of obtaining k\n" +
|
256
|
+
"from a Pascal distribution with parameters p and\n" +
|
257
|
+
"n, using the formula given above."},
|
258
|
+
{:func_name=>"gsl_ran_geometric_pdf",
|
259
|
+
:func_type=>"double",
|
260
|
+
:args=>[["unsigned int", "k"], ["double", "p"]],
|
261
|
+
:desc=>
|
262
|
+
"This function computes the probability p(k) of obtaining k\n" +
|
263
|
+
"from a geometric distribution with probability parameter p, using\n" +
|
264
|
+
"the formula given above."},
|
265
|
+
{:func_name=>"gsl_ran_hypergeometric_pdf",
|
266
|
+
:func_type=>"double",
|
267
|
+
:args=>
|
268
|
+
[["unsigned int", "k"],
|
269
|
+
["unsigned int", "n1"],
|
270
|
+
["unsigned int", "n2"],
|
271
|
+
["unsigned int", "t"]],
|
272
|
+
:desc=>
|
273
|
+
"This function computes the probability p(k) of obtaining k\n" +
|
274
|
+
"from a hypergeometric distribution with parameters n1, n2,\n" +
|
275
|
+
"t, using the formula given above."},
|
276
|
+
{:func_name=>"gsl_ran_logarithmic_pdf",
|
277
|
+
:func_type=>"double",
|
278
|
+
:args=>[["unsigned int", "k"], ["double", "p"]],
|
279
|
+
:desc=>
|
280
|
+
"This function computes the probability p(k) of obtaining k\n" +
|
281
|
+
"from a logarithmic distribution with probability parameter p,\n" +
|
282
|
+
"using the formula given above."}]
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require_relative "../gen/erbpp_gsl"
|
2
|
+
|
3
|
+
class DefPdf < DefGslModule
|
4
|
+
def lookup(h)
|
5
|
+
case h
|
6
|
+
when FM(name:/_dirichlet_(ln)?pdf$/); "dirichlet"
|
7
|
+
when FM(name:/_multinomial_(ln)?pdf$/); "multinomial"
|
8
|
+
when FM(name:/_discrete_pdf$/); false
|
9
|
+
when FM(name:/_multivariate_gaussian(_log)?_pdf$/); false
|
10
|
+
when FM(name:/_pdf$/); "mod_func_noloop"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def define_method(t,**h)
|
15
|
+
PdfMethod.new(self, t, **h)
|
16
|
+
end
|
17
|
+
|
18
|
+
def to_method_name(s)
|
19
|
+
s.sub(/^gsl_ran_(\w+[^_])_?pdf$/,'\1')
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
class PdfMethod < DefGslModuleFunction
|
24
|
+
|
25
|
+
PARAM_DESC = {}
|
26
|
+
PARAM_NAMES =
|
27
|
+
{
|
28
|
+
"double" => %w[a b p n mu nu nu1 nu2 sigma sigma_x sigma_y rho zeta],
|
29
|
+
"unsigned int" => %w[n n1 n2 t],
|
30
|
+
"size_t" => true,
|
31
|
+
}
|
32
|
+
|
33
|
+
def argument_property(type,name)
|
34
|
+
if name == "return"; {output:true, narray:true, pass: :return}
|
35
|
+
elsif name == "K"; {} # ignore array size
|
36
|
+
elsif /\[\]$/ =~ name; {input:true, narray:true, pass: :array}
|
37
|
+
elsif is_param(type,name); {input:true, param:true}
|
38
|
+
elsif /\*$/ =~ type; {output:true, narray:true, pass: :pointer}
|
39
|
+
else; {input:true, narray:true}
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
static void
|
2
|
+
iter_<%=c_func%>(na_loop_t *const lp)
|
3
|
+
{
|
4
|
+
size_t n;
|
5
|
+
char *p1, *p2, *p3;
|
6
|
+
|
7
|
+
INIT_COUNTER(lp, n);
|
8
|
+
p1 = lp->args[0].ptr + lp->args[0].iter[0].pos;
|
9
|
+
p2 = lp->args[1].ptr + lp->args[1].iter[0].pos;
|
10
|
+
p3 = lp->args[2].ptr + lp->args[2].iter[0].pos;
|
11
|
+
|
12
|
+
*(double*)p3 = <%=func_name%>(n,(double*)p1,(double*)p2);
|
13
|
+
}
|
14
|
+
|
15
|
+
/*
|
16
|
+
@overload <%=name%>(<%=method_args%>, axis:nil, keepdims:false)
|
17
|
+
<% desc_param.each do |x|%>
|
18
|
+
<%=x%><% end %>
|
19
|
+
@param [Numeric,Array,Range] axis (keyword) Axes along which the operation is performed.
|
20
|
+
@param [TrueClass] keepdims (keyword) If true, the reduced axes are left in the result array as dimensions with size one.
|
21
|
+
|
22
|
+
<%=desc%>
|
23
|
+
*/
|
24
|
+
static VALUE
|
25
|
+
<%=c_func(-1)%>(int argc, VALUE *argv, VALUE mod)
|
26
|
+
{
|
27
|
+
VALUE reduce;
|
28
|
+
ndfunc_arg_in_t ain[3] = {{cDF,0},{cDF,0},{sym_reduce,0}};
|
29
|
+
ndfunc_arg_out_t aout[1] = {{cDF,0}};
|
30
|
+
ndfunc_t ndf = { iter_<%=c_func%>, NDF_HAS_LOOP|NDF_FLAT_REDUCE|NDF_EXTRACT,
|
31
|
+
3, 1, ain, aout };
|
32
|
+
|
33
|
+
if (argc<2) {
|
34
|
+
rb_raise(rb_eArgError,"wrong number of argument (%d for >=2)",argc);
|
35
|
+
}
|
36
|
+
|
37
|
+
reduce = nary_reduce_dimension(argc-2, argv+2, 2, argv, &ndf, 0);
|
38
|
+
return na_ndloop(&ndf, 3, argv[0], argv[1], reduce);
|
39
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
static void
|
2
|
+
iter_<%=c_func%>(na_loop_t *const lp)
|
3
|
+
{
|
4
|
+
size_t n;
|
5
|
+
char *p1, *p2, *p3;
|
6
|
+
|
7
|
+
INIT_COUNTER(lp, n);
|
8
|
+
p1 = lp->args[0].ptr + lp->args[0].iter[0].pos;
|
9
|
+
p2 = lp->args[1].ptr + lp->args[1].iter[0].pos;
|
10
|
+
p3 = lp->args[2].ptr + lp->args[2].iter[0].pos;
|
11
|
+
|
12
|
+
*(double*)p3 = <%=func_name%>(n,(double*)p1,(unsigned int *)p2);
|
13
|
+
}
|
14
|
+
|
15
|
+
/*
|
16
|
+
@overload <%=name%>(<%=method_args%>,[axis0,axis1,..])
|
17
|
+
<% desc_param.each do |x|%>
|
18
|
+
<%=x%><% end %>
|
19
|
+
@param [Numeric,Array,Range] axis (keyword) Axes along which the operation is performed.
|
20
|
+
@param [TrueClass] keepdims (keyword) If true, the reduced axes are left in the result array as dimensions with size one.
|
21
|
+
|
22
|
+
<%=desc%>
|
23
|
+
*/
|
24
|
+
static VALUE
|
25
|
+
<%=c_func(-1)%>(int argc, VALUE *argv, VALUE mod)
|
26
|
+
{
|
27
|
+
VALUE reduce;
|
28
|
+
ndfunc_arg_in_t ain[3] = {{cDF,0},{cUI,0},{sym_reduce,0}};
|
29
|
+
ndfunc_arg_out_t aout[1] = {{cDF,0}};
|
30
|
+
ndfunc_t ndf = { iter_<%=c_func%>, NDF_HAS_LOOP|NDF_FLAT_REDUCE|NDF_EXTRACT,
|
31
|
+
3, 1, ain, aout };
|
32
|
+
|
33
|
+
if (argc<2) {
|
34
|
+
rb_raise(rb_eArgError,"wrong number of argument (%d for >=2)",argc);
|
35
|
+
}
|
36
|
+
|
37
|
+
reduce = nary_reduce_dimension(argc-2, argv+2, 2, argv, &ndf, 0);
|
38
|
+
return na_ndloop(&ndf, 3, argv[0], argv[1], reduce);
|
39
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
COGEN=ruby erbpp_poly.rb
|
2
|
+
GENSRC=gsl_poly.c
|
3
|
+
GENDEPS=erbpp_poly.rb ../gen/*.rb ../gen/tmpl/*.c tmpl/*.c
|
4
|
+
|
5
|
+
src : $(GENSRC)
|
6
|
+
|
7
|
+
$(GENSRC) : $(GENDEPS)
|
8
|
+
$(COGEN) > $@
|
9
|
+
|
10
|
+
doc : $(GENSRC)
|
11
|
+
yard doc $(GENSRC)
|
12
|
+
|
13
|
+
clean: cleansrc cleandoc
|
14
|
+
cleansrc:
|
15
|
+
-$(Q)$(RM) $(GENSRC)
|
16
|
+
cleandoc:
|
17
|
+
-$(Q)$(RM_RF) doc .yardoc
|
@@ -0,0 +1,70 @@
|
|
1
|
+
require_relative "../gen/erbpp_gsl"
|
2
|
+
require "erbpp/line_number"
|
3
|
+
|
4
|
+
func_list = ErbppGsl.read_func
|
5
|
+
ErbppGsl.read_func_pattern(
|
6
|
+
[/^gsl_poly_complex_workspace_/, polyws_list=[]],
|
7
|
+
[/^gsl_/, poly_list=[]],
|
8
|
+
)
|
9
|
+
|
10
|
+
class DefPolyWs < DefGslClass
|
11
|
+
def lookup(h)
|
12
|
+
case h
|
13
|
+
when FM(name:/_workspace_free/); false
|
14
|
+
when FM(name:/_workspace_alloc/); "c_new_sizet"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class DefPoly < DefGslModule
|
20
|
+
def lookup(h)
|
21
|
+
case h
|
22
|
+
when FM(name:/^gsl_poly_eval$/); "poly_eval"
|
23
|
+
when FM(name:/^gsl_poly_eval_derivs$/); "poly_eval_derivs"
|
24
|
+
when FM(name:/^gsl_poly_complex_solve$/); "poly_complex_solve"
|
25
|
+
when FM(name:/^gsl_poly(_complex)?_solve_/); "mod_func_noloop"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
DefLib.new(nil) do
|
31
|
+
set erb_dir: %w[tmpl ../gen/tmpl]
|
32
|
+
set erb_suffix: ".c"
|
33
|
+
set ns_var: "mG"
|
34
|
+
|
35
|
+
name = "Poly"
|
36
|
+
base = name.downcase
|
37
|
+
set file_name: "gsl_#{name}.c"
|
38
|
+
set include_files: %w[gsl/gsl_poly.h assert.h]
|
39
|
+
set lib_name: base
|
40
|
+
|
41
|
+
DefPoly.new(self) do
|
42
|
+
name = "Poly"
|
43
|
+
base = name.downcase
|
44
|
+
set name: base
|
45
|
+
set module_name: name
|
46
|
+
set module_var: "m"+name
|
47
|
+
set full_module_name: "Numo::GSL::"+name
|
48
|
+
|
49
|
+
DefPolyWs.new(self) do
|
50
|
+
wname = "ComplexWorkspace"
|
51
|
+
wbase = "poly_complex_workspace"
|
52
|
+
set name: wbase
|
53
|
+
set class_name: wname
|
54
|
+
set class_var: "c"+wname
|
55
|
+
set full_class_name: "Numo::GSL::Poly::"+wname
|
56
|
+
set struct: "gsl_"+wbase
|
57
|
+
set ns_var: "mPoly"
|
58
|
+
|
59
|
+
undef_alloc_func
|
60
|
+
polyws_list.each do |h|
|
61
|
+
check_func(h)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
poly_list.each do |h|
|
66
|
+
check_func(h)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
end.run
|